MySQL在重复时提供唯一ID,如何?

时间:2010-12-15 13:39:55

标签: php mysql unique fetch

我在表格的几个字段上有一个唯一的密钥。使用PHP,当我尝试插入相同的数据时,我会得到一个很好的错误。我试图改变的是MySQL让我回到产生错误的字段的主键。

因此,当我插入重复的内容时,有没有什么方法可以让MySQL在不选择我尝试插入的所有字段的情况下回复“原始”ID?

提前Tnx

3 个答案:

答案 0 :(得分:2)

您可以使用mysql_error()来获取Duplicate entry '1' for key 'PRIMARY'之类的消息,然后您可以解析该消息以确定重复的键值是什么。

答案 1 :(得分:0)

mysql无法做到这一点..也许如果你为此制作程序或功能它是可行的,但你认为你真的需要这个吗?

答案 2 :(得分:0)

如果您有AUTO_INCREMENT字段(id或其他内容),则可以使用ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)使LAST_INSERT_ID值在插入“失败”时返回id列的值。然而,它将不再失败,这是值得考虑的事情。