我想获取受Java查询影响的行的主键列值。我正在使用MySql DB。假设查询就像,
update user set pincode = 390023 where area like '%ABC Road%'
然后在java中,我想要更新每行的ID(每行的主键)。使用Java中的Statement对象可以实现的功能可能是。
答案 0 :(得分:6)
在更新之前选择行。
使用select id from user where area like '%ABC Road%'
。
请记住将这两个操作包含在事务中,以避免在这两个操作之间进行行更改。
答案 1 :(得分:1)
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;