4

我想获取受 Java 查询影响的行的主键列值。我正在使用 MySql 数据库。假设查询是这样的,

update user set pincode = 390023 where area like '%ABC Road%'

然后在java中,我想要更新每行的id(每行的主键)。Java 中的 Statement 对象可能会发生一些事情。

4

2 回答 2

6

在更新之前选择行。使用select id from user where area like '%ABC Road%'.

请记住将这两个操作包含在事务中以避免这两个操作之间的行更改。

于 2012-07-30T09:56:17.433 回答
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;
于 2012-07-30T10:05:03.713 回答