当我试图在MYSQL中运行“INSERT IGNORE ...”以仅将一个变量添加到多个选项的表中时,在第一次插入之后,它拒绝工作。它说“插入行:0”并且不会将我的新值插入数据库。我相信这是因为已经存在一个“无”值的条目,并且MYSQL不允许复制空字段。这似乎是奇怪的行为(只要两个插入不完全相同),所以我想知道是否有某种方法可以避免这种情况。
感谢任何肝脏!
答案 0 :(得分:2)
两个INSERT
不必完全相同,它们必须与主键列相同。
INSERT IGNORE
将忽略插入。
如果您执行INSERT
而不是INSERT IGNORE
,则会收到错误(重复的主键)。
如果您想要更新现有行,可以使用REPLACE
。
无论哪种方式,每个主键只能有一行。