mysql行id_mysql – 我可以获取所有更新行的ID吗?

假设我在

MySQL中执行INSERT / ON DUPLICATE KEY UPDATE,它会更新一堆行.并且该表具有自动增量主键.

有没有简单的方法让MySQL告诉我刚刚更新的行的ID?

我知道我可以做另一个SELECT查询,查找INSERT语句使用的相同约束,并且这并不难写,但是如果MySQL可以跟踪我的ID,它似乎更有效.

我在手册中看到了关于LAST_INSERT_ID的技巧,其中有一个插入/更新的行,但我想知道你要更新多行的情况.

最佳答案 检查此链接一次

它说

If a table contains an AUTO_INCREMENT

column and INSERT … UPDATE inserts a

row, the LAST_INSERT_ID() function

returns the AUTO_INCREMENT value. If

the statement updates a row instead,

LAST_INSERT_ID() is not meaningful.

However, you can work around this by

using LAST_INSERT_ID(expr). Suppose

that id is the AUTO_INCREMENT column.

要使LAST_INSERT_ID()对更新有意义,请按如下方式插入行:

INSERT INTO table (a,b,c) VALUES (1,2,3)

ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值