如何在重复条目上处理mysql的错误?

时间:2010-03-04 17:24:39

标签: php mysql

有时当有一个条目要添加到数据库时,它失败了,因为它是一个重复的条目,出现错误。那么,如何在php的帮助下处理这个错误?

3 个答案:

答案 0 :(得分:5)

您可以使用mysql_errno()来获取错误编号,并使用mysql_error()来获取错误消息。使用这些,您可以确定错误何时为“重复”。 A list of error numbers can be online - 只需执行 ctrl + f 并搜索单词“duplicate”以查找各种错误编号。

答案 1 :(得分:4)

你说你想在PHP中处理这个问题,但是要注意MySQL方面也有可能。我发现使用INSERT IGNOREON DUPLICATE KEY UPDATE我可以避免在PHP中处理MySQL错误。

答案 2 :(得分:1)

这取决于“在PHP中处理它”的含义。

已经回答的明显而简单的答案是观察错误信息并从那里开始工作。

虽然这可行,但我认为更好的解决方案是找出PHP应用程序中的哪些操作可以产生这种效果。这是竞争条件吗?这是一个有时错误的假设吗?它猜测插入的值而不是找出正确的值吗?这是最终用户做了一些没有想到的东西,从而没有被抓住和错误的结果?它是以不是为其设计的方式使用数据库的应用程序吗?

所有这些解决方案都不涉及捕获MySQL错误并试图弄清楚如何解决出错的问题。