在DUPLICATE KEY错误后获取主键?

时间:2012-04-21 15:11:15

标签: php mysql sql

如果我运行插入查询但由于重复键错误而失败,是否有办法获取其主键而不进行另一次选择?

基本上:

INSERT INTO tbl (field) VALUES ('myvalue')

此操作失败,因为已存在ID:1和field:myvalue。

的记录

现在我想知道ID:1而不做另一个查询:

SELECT id FROM tbl WHERE field = 'myvalue'

可能吗?

2 个答案:

答案 0 :(得分:2)

这是一个链接,它提供了四种不同的方法来解决这个问题: http://mikefenwick.com/blog/insert-into-database-or-return-id-of-duplicate-row-in-mysql/

答案 1 :(得分:0)

每个库都有一个规定来获取插入行的id。

喜欢:for simple mysql_query()之后使用mysql_insert_id()来检索最后插入行的id

Check this link

编辑:

请检查是否已为field列定义了唯一索引。

如果是,那么您无法在field

列中插入副本