今天正好有個新需求,要求在一張表中,保證不插入重復的記錄。
即,保證每條記錄中的某個字段的值不重復。
下面是我給出的SQL語句:
//存在-->更新 //不存在-->插入 UPDATE 表名稱 SET 字段1=插入值1, 字段2=插入值2, 字段3=插入值3 WHERE 表名稱.字段3 = 插入值3 ; INSERT INTO 表名稱 (字段1, 字段2, 字段3) SELECT 插入值1, 插入值2, 插入值3 FROM DUAL WHERE NOT EXISTS ( SELECT * FROM 表名稱 WHERE 表名稱.字段3 = 插入值3 )
如果 “表.校驗字段” != “參數”,則插入新紀錄。
參考文獻:
mysql中如何判斷指定字段的重復數據則不插入?(該貼中的四種方法,測試后發現都不可用或不好用。)
