我查询过,关联字段没有重复的值,并且更新的字段也是一一对应的,那为什么会提示单行子查询返回多个行?
原因如下:没有指定关联字段来自哪个表:
报错脚本如下:
update am_cs set datum_id=(select distinct da_new from datum_temp where pa_id=pa_id ) where exists(select 1 from datum_temp where pa_id=pa_id );
条件pa_id=pa_id 这两个pa_id 没有指定表。
修改,两个表加上别名a, b ,然后指定关联字段来自哪个表 ,如下:
update am_cs a set datum_id=(select distinct da_new from datum_temp b where a.pa_id=b.pa_id ) where exists(select 1 from datum_temp b where a.pa_id=b.pa_id);
问题解决。