如果我运行插入查询但由于重复键错误而失败,是否有办法获取其主键而不进行另一次选择?
基本上:
INSERT INTO tbl (field) VALUES ('myvalue')
此操作失败,因为已存在ID:1和field:myvalue。
的记录现在我想知道ID:1而不做另一个查询:
SELECT id FROM tbl WHERE field = 'myvalue'
可能吗?
答案 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
编辑:
请检查是否已为field
列定义了唯一索引。
如果是,那么您无法在field