我已经看到了这个问题(参见底部的链接),但我似乎无法找到答案。问题是我在具有作为主键的自动增量 ID 的表上插入数据,以及具有唯一索引的另一个字段以避免重复。这是可行的,但是当这种情况发生时,ID 会增加,尽管没有存储数据。
删除自动增量并自己处理,选择最大(ID)会更好吗?
目前,我尝试了几种策略使其按原样工作,包括INSERT IGNORE
和INSERT ... ON DUPLICATE KEY UPDATE
我最近的尝试是使用以下查询:
INSERT INTO
content(field1, field2)
SELECT(:field1, :field2) FROM DUAL
WHERE NOT EXISTS(
SELECT field1, field2
FROM content
WHERE field1 = :field1
)
有关的