0

当我尝试在 MYSQL 中运行“INSERT IGNORE ...”以仅将一个变量添加到包含多个选项的表中时,在第一次插入后,它拒绝工作。它说“插入的行:0”并且没有将我的新值插入数据库。我相信这是因为已经有一个“无”值的条目,而 MYSQL 不允许复制空字段。这似乎是一种奇怪的行为(只要两个插入不完全相同),所以我想知道是否有某种方法可以避免这种情况。

4

1 回答 1

2

两者INSERT不必完全相同,只需主键列相同即可。

INSERT IGNORE如果已经存在具有相同主键的行,则将忽略插入。如果你这样做INSERT而不是INSERT IGNORE,你会得到一个错误(重复的主键)。

如果要改为更新现有行,可以使用REPLACE.

无论哪种方式,每个主键只能有一行。

于 2010-01-09T03:28:01.200 回答