Oracle update where select语句returns多行错误

Oracle update where select statement returns multiple row error

嗨,我有一个 table 这样的:

身份证姓名号码

1 约翰 91234567

2 汤姆 98765432

3 肯 91357246 ...

我正在尝试将号码 [91234567] 更改为另一个号码,但我得到这个单行查询 returns 超过 1 行。

我的发言:

Update table set number = '9000000' where id = (select id from table where number = '91234567')

也许我在 table.

下方还有另一条具有相同编号的记录

由于我无法访问id,我该如何更改我的声明?谢谢

如果您需要将包含91234567的所有记录更改为9000000:

update table
set number = 9000000
where number = 91234567

尝试使用 IN 而不是 =

Update table 
set number = '9000000' 
where id IN (select id from table where number = '91234567')