表 link_instance_message 有一个 PRIMARY KEY CONSTRAINT 以便您在表中不能有 instance_id、message_id 组合的重复项。如果表中已经存在该 intance_id、message_id 组合,我怎么能不让它完全失败?
INSERT INTO link_instance_message
(instance_id, message_id)
select
ins.instance_id as instance_id, mess.message_id as message_id
from
instance as ins,
license as lic,
message as mess
where
ins.license_id = lic.license_id
and lic.license_key = '<INSERT GUID HERE>'
and mess.message_id = (select MAX(message_id) from message)
例如,假设如果表中不存在任何行,则上面的插入语句将插入 5 行。但是,假设已经存在 1 行,上面的插入语句将尝试再次插入。如何在忽略违反 PRIMARY KEY CONSTRAINT 已存在的 1 行的情况下插入其他 4 行。