我有以下表格:
table (id,
longitude,
latitude,
longlat,
address,
description,
kind,
synonym,
primary key(id)
);
我需要检查插入行中的字段longlat
和description
是否唯一且没有{strong>相同组合 longlat
和{{1}的行在它之前插入的表。
我该如何修改我的查询?
description
答案 0 :(得分:4)
在组合上添加UNIQUE
约束,这样就不会发生:
ALTER TABLE yandex_social_objects
ADD CONSTRAINT longlat_description_UQ
UNIQUE (longlat, description) ;
之后,所有对表格的插入都将检查此组合的唯一性,无论是成功还是失败。
您可以使用INSERT IGNORE
或INSERT ... ON DUPLICATE KEY UPDATE ...
来解决唯一键冲突的不同行为。请查看此答案的差异:INSERT IGNORE
vs INSERT … ON DUPLICATE KEY UPDATE