我有CSV文件,我需要在我的表中插入數據之前,做這樣的事情:檢查記錄存在
table fields
id = primary id and auto-increment
house_no
city_code
prv_code
cty_code
if (house_no,city_code,prv_code,cty_code) exists = ignore insert
else if (house_no,city_code,prv_code,cty_code) is null = ignore insert
else (house_no,city_code,prv_code,cty_code) !exist = insert
我原來的代碼只是重新插入相同的值,因爲主鍵ID只是爲它創建一個新的ID,結果我有重複。
我需要這樣做以避免重複。我試過INSERT IGNORE
和REPLACE
,但我需要一個唯一的密鑰,並且所有的字段可能有相同的值(比如它們可能有不同的house_no
,但是相同的prv_code
或cty_code
或類似的東西)。我只想在插入之前檢查記錄是否存在。
我不確定如果我正確理解了你,但爲什麼不使用'TRIGGER'。但是,您提供了大量的信息。 – mic4ael