当我试图运行“INSERT忽略......”在MySQL中只有一个变量添加到的几个选项表,第一次插入后,它拒绝工作。它说:“插入的行:0”,而不会插入我的新值到数据库中。我相信这是因为已经有一个“无”值的条目和MYSQL不允许空场被复制。这似乎是一个奇怪的行为(只要两个插入不完全一样),所以我想知道是否有某种方式来避免这种情况。

感谢任何HEP!

有帮助吗?

解决方案

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

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

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

无论哪种方式,可以存在用于每个主键只有一排。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top