[MySQL] INSERT資料前檢查資料是否重複

有時候需要檢查資料是否重複再填入,這裡簡單做個筆記。

程式碼

1
2
3
4
5
6
7
8

INSERT INTO `table` (`title`, `url`, `photocount`, `uploadtime`, `findtime`)
SELECT @title, @url, @photocount, @uploadtime, @findtime
FROM DUAL
WHERE NOT EXISTS ( SELECT 1
FROM `table`
WHERE `title` = @title
AND `url` = @url);

 

1
2

SELECT @title, @url, @photocount, @uploadtime, @findtime

SELECT後面是準備填入的參數

1
2
3
4
5

WHERE NOT EXISTS ( SELECT 1
FROM `table`
WHERE `title` = @title
AND `url` = @url);

WHERE這邊驗證資料是否重複

 

來源:MySQL INSERT 與 UPDATE 的一些特殊情況用法