文章详情页
mysql - 关联数据表的更新问题
问题描述
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. javascript - 引入 simditor,但是显示标签,这个怎么解决。2. angular.js - 学习ng路由模块遇到点击链接到锚点时URL后面多出个#!是怎么回事3. angular.js - 全站用的angular,但是像下面描述的这样强交互的功能用angular该用什么思路去做呢?4. angular.js - 如何让图片遇到父容器边缘自动换行显示,不会溢出5. android - 目前有哪些用Vue.js开发移动App的方案?6. index.php错误,求指点7. 只有一条数据8. 当前访问路由未定义或不匹配,怎么解决这个问题9. 横屏滑动的怎么做10. php mysql_query()问题
排行榜