每天学习一点点,成功增加一大步

mysql实用性命令:判断数据存在性并进行进一步

MYSQL zhanghui 401℃

场景

今日遇到程序阶段性更新的一个问题, 需要作个判断, 判断之前使用该程序的项目是否已经输入(或更新)过某个数据,达到不能重复的目的,之前也有这个需求但懒惰性避而远之。

问题来了

如何不用程序多次查询,而一条 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实用性命令:判断数据存在性并进行进一步

喜欢 (0)