想要插入一条数据,要避免重复插入,又不想折腾两回数据库连接操作,可以参考如下办法。
INSERT INTO table(column1,column2,column3 ...columnN)
SELECT value1,value2,value3 ...valueN
FROM dual
WHERE NOT EXISTS(
SELECT *
FROM table
WHERE value = ?
);
dual是为了构建查询语句而存在的表,Oracle中很常见,配合
INSERT ... SELECT构建成我们需要的表,并指定了数据项.
EXISTS通过这个判断是否存在的函数,就免去了我们做IF-ELSE的冗繁操作.
例:
INSERT INTO content (
detail,
status,
beginTime,
endTime)
SELECT
@detail,
1,
NULL,
NULL
FROM DUAL
WHERE NOT EXISTS(
SELECT contentId
FROM content
WHERE detail=@detail);
@detail是要存入的内容,这里对内容进行了检索,如果要这么做,最好对该字段做唯一约束,或加索引。
省掉了IF-ELSE,在iBatis配置一下就ok了,哈!
还有个更坚决的办法——replace into:
replace into blacklist(userInfoId,uid)
select userInfoId,uid from user_info u where uid in(
'u303565440','u303566922','u303515112','u303559738');
分享到:
相关推荐
解决/root/.Xauthority does not exist
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
“Controller does not exist.”登陆后台突然是这个提示登陆不上后台了。 入口为:index.php?m=admin 这是控制器不存在错误 应该是改过了系统文件,或者是上传文件缺失。 可以这样做,把phpcms/ 目录下的所有文件和...
尚硅谷_MySQL高级_索引分类和建索引命令语句 · 17.尚硅谷_MySQL高级_索引结构与检索原理 · 18.尚硅谷_MySQL高级_哪些情况适合建索引 · 19.尚硅谷_MySQL高级_哪些情况不适合建索引 · 20.尚硅谷_MySQL高级_...
do_not_exist
安装sap gui 750后,打开smartforms或scriptforms提示:CSapEditorCtrl::GetObject: Object 13 does not exist的解决方法:安装此安装包后即可解决问题
sql语句中in与exist_not_in与not_exist_的区别
今天项目优化过程中,mysql有个问题The user specified as a definer (‘wx_root’@’%’) does not exist 查了一下,意思是执行sql无权限。 看了下数据库用户是quoters 而sql没有所属权。那就找原因了。发现sql执行...
FILE_DOES_NOT_EXIST HOOK zwCreateFile
解决SAPGUI800使用SMARTFORMS创建/编辑文本时报错CSapEditorCtrl::GetObject: Object 15 does not exist的对应版本SAPscript Legacy Text Editor patch安装包
if not exist c:\1.txt echo. >c:\1.txt & goto err1 if not exist c:\2.txt echo. >c:\2.txt & goto err1 if not exist c:\3.txt echo. >c:\3.txt & goto err1 if not exist c:\4.txt echo. >c:\4.txt & goto err1 ...
今天小编就为大家分享一篇关于Mysql:The user specified as a definer ('xxx@'%') does not exist的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
NOT IN、JOIN、IS NULL、NOT EXISTS效率对比 语句一:select count(*) from A where A.a not in (select a from B) 语句二:select count(*) from A left join B on A.a = B.a where B.a is null 语句三:select ...
一般情况都是因为文件的上级目录不存在浏览权限。...详细说明:Serv_U安装设置以及530 Not logged in, home directory does not exist解决方法安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u
SQL中对not in和not exist查询的替代算法.pdf
NULL 博文链接:https://banner.iteye.com/blog/613081
Code::Blocks – The file does not exist. 1. Code::Blocks Could not open the file '/home/strong/codeblocks_work/Fire-master/src/bubble/config.cpp'. The file does not exist. 2. Build log ...... g++: ...
您可能感兴趣的文章:mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法MySQL部署时提示Table mysql.plugin doesn’t exist的解决方法MySQL中报错:Can’t find file: ‘./mysql/plugin.frm’的解决方法
log4j-99.0-does-not-exist.jar 处理logback和log4j的包冲突
NOT EXISTS ⇔ NOT IN ⇒ NOT NULL 问题 结果不一样 疑问 如果等效