你这个关联是1对多的关系,所以出现这个错误,看你业务逻辑,如果这返回的多行是重复的,那你可以用 distinct里处理: update 表一 a set 地址=(select distinct 名称 from 行政地区 b where b. 代码=a.地区代码)
打错字 IDE不提示吗
原因就是b表中有一些 :同一个代码 对应的名称 不同 这样数据 或者是存在重复的数据 ,如果对于数据精确度不高就 这样写 update 表一 a set 地址=(select min(名称) from 行政地区 b where b. 代码=a.地区代码); 如果要求高精确度 就要把 b表重复的去掉 : 如下查询出那些有重复的 select 代码 from 行政地区 group by 代码 having(count(1)>1)
update 表一 a set 地址=(select distinct 名称 from 行政地区 b where b. 代码=a.地区代码)
update 表一 a set 地址=(select min(名称) from 行政地区 b where b. 代码=a.地区代码);
如果要求高精确度 就要把 b表重复的去掉 :
如下查询出那些有重复的
select 代码 from 行政地区 group by 代码 having(count(1)>1)