文章详情页
mysql - 关联数据表的更新问题
浏览:148日期:2022-06-11 18:58:47
问题描述
UPDATE a,b SET a.v_publishyear = b.v_publishyear WHERE a.v_id = b.v_e
我想更新a表中的数据,实际应该有9000多条数据,而实际上只能更新120条数据。这是怎么回事。把b表中publishyear字段更新到对应的a表publishyear字段中.
但是当我进行操作
SELECT * FROM a表,b表 where a表.c字段 = b表.d字段这个查询的时候,可以查询到全部的9000多条数据,这是怎么回事我更新数据代码哪里出错了呢?
问题解答
回答1:UPDATE不太适合用WHERE去关联两表。所以试试这种写法:
UPDATE a LEFT JOIN b ON a.v_id = b.v_e SET a.v_publishyear = b.v_publishyear回答2:
update tableA a set a.v_publishyeaar=(select b.v_publishyear from tableB b where b.v_e=a.v_id)
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. java - mybatis怎么实现在数据库中有就修改,没有就添加4. MYSQL新建用户设置可以远程访问的问题5. mysql多表联合查询优化的问题6. MySQL中的enum类型有什么优点?7. mysql字符串排序问题8. 数据库设计 - MySQL数据库主键问题9. linux - 为什么我在mysql的my.cnf下找不到bind-address?10. mysql 5.7单表300万数据,性能严重下降,如何破?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)