我想获取受 Java 查询影响的行的主键列值。我正在使用 MySql 数据库。假设查询是这样的,
update user set pincode = 390023 where area like '%ABC Road%'
然后在java中,我想要更新每行的id(每行的主键)。Java 中的 Statement 对象可能会发生一些事情。
我想获取受 Java 查询影响的行的主键列值。我正在使用 MySql 数据库。假设查询是这样的,
update user set pincode = 390023 where area like '%ABC Road%'
然后在java中,我想要更新每行的id(每行的主键)。Java 中的 Statement 对象可能会发生一些事情。
在更新之前选择行。使用select id from user where area like '%ABC Road%'
.
请记住将这两个操作包含在事务中以避免这两个操作之间的行更改。
SELECT id FROM user WHERE area LIKE '%ABC Road%';
或替代方式:
SET @ids = NULL;
UPDATE user
SET pincode = 390023
WHERE area LIKE '%ABC Road%'
AND (SELECT @ids := CONCAT_WS(',', id, @ids));
SELECT @ids;