防止MySQL重复插入

ewe*_*ein 4 mysql

我有一个带有自动递增键的mysql表.如果表不包含我插入的行,我需要一种只插入该表的方法.INSERT IGNORE和INSERT ON DUPLICATE KEY UPDATE将不起作用,因为自动递增的键将导致行始终不同.只有在没有重复行的情况下,我才能插入以下行的另一种方法是什么?谢谢.

INSERT INTO TableName (column1, column2, column3) VALUES ("value1", "value2", "value3");
Run Code Online (Sandbox Code Playgroud)

Boj*_*les 5

UNIQUE您需要唯一的列或列的组合设置约束.

例如:

ALTER TABLE `TableName`
ADD UNIQUE `constrain_me` (`column1`, `column2`);
Run Code Online (Sandbox Code Playgroud)

如果您想忽略重复插入可能给出的任何错误,请使用INSERT IGNORE,尽管您可能想要捕获此错误而不是在地毯下刷它.