3

如果我运行插入查询但由于重复键错误而失败,是否有任何方法可以在不进行其他选择的情况下获取其主键?

基本上:

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

这失败了,因为已经有一条 ID:1 和 field:myvalue 的记录。

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

SELECT id FROM tbl WHERE field = 'myvalue'

有可能吗?

4

2 回答 2

2

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

于 2013-05-21T14:20:33.477 回答
0

每个库都有一个条款来获取插入的行的 id。

喜欢:之后简单mysql_query()使用mysql_insert_id()以检索最后插入的行的 id

检查此链接

编辑:

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

如果是,那么您不能在列中插入重复项field

于 2012-04-21T15:19:11.090 回答