2010-01-09 69 views
0

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

感谢您的任何帮助!

回答

2

这两个INSERT不必完全一样,它们只需对主键列是相同的。

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

如果您想改为更新现有的行,可以使用REPLACE

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

+0

谢谢Thilo!我编辑了主键字段,现在它效果很好! – PF1 2010-01-09 03:31:36