我有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