У меня есть 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
Мой исходный код просто повторно вставляет то же значение, так как первичный ключ идентификатора просто создает для него новый идентификатор, и в результате у меня есть дубликаты.
Мне нужно сделать это, чтобы избежать дубликатов. Я пробовал INSERT IGNORE
и , но мне нужен уникальный ключ, и все поля могут иметь одно значение (например, они могут иметь разные house_no
, но то же самое prv_code
или cty_code
или что-то в этом роде). Я просто хочу проверить, существует ли запись, прежде чем вставлять ее.
Я не уверен. Если я правильно вас понял, но почему бы вам не использовать «TRIGGER» для этого. Однако вы предоставили ограниченный объем информации. – mic4ael