场景
今日遇到程序阶段性更新的一个问题, 需要作个判断, 判断之前使用该程序的项目是否已经输入(或更新)过某个数据,达到不能重复的目的,之前也有这个需求但懒惰性避而远之。
问题来了
如何不用程序多次查询,而一条 sql 语句就能达到目的?用存储过程spa?不见得就友好!
找解决的方法
网络上有个例子,测试过可行
INSERT INTO table(column1,column2,column3 ...columnN) SELECT value1,value2,value3 ...valueN FROM dual WHERE NOT EXISTS( SELECT * FROM table WHERE value = ? );
INSERT INTO content ( detail, status, beginTime, endTime) SELECT @detail, 1, NULL, NULL FROM DUAL WHERE NOT EXISTS( SELECT contentId FROM content WHERE detail=@detail);
意图:判断一条数据是否存在, 若是不存在, 就insert
转载请注明:隨習筆記 » mysql实用性命令:判断数据存在性并进行进一步