如果我运行插入查询但由于重复键错误而失败,是否有任何方法可以在不进行其他选择的情况下获取其主键?
基本上:
INSERT INTO tbl (field) VALUES ('myvalue')
这失败了,因为已经有一条 ID:1 和 field:myvalue 的记录。
现在我想知道 ID:1 而不做另一个查询:
SELECT id FROM tbl WHERE field = 'myvalue'
有可能吗?
这是一个提供四种不同方法来处理此问题的链接:http: //mikefenwick.com/blog/insert-into-database-or-return-id-of-duplicate-row-in-mysql/
每个库都有一个条款来获取插入的行的 id。
喜欢:之后简单mysql_query()
使用mysql_insert_id()
以检索最后插入的行的 id
编辑:
请检查您是否为field
列定义了唯一索引。
如果是,那么您不能在列中插入重复项field