mysql - 關(guān)聯(lián)數(shù)據(jù)表的更新問題
問題描述
UPDATE a,b SET a.v_publishyear = b.v_publishyear WHERE a.v_id = b.v_e
我想更新a表中的數(shù)據(jù),實(shí)際應(yīng)該有9000多條數(shù)據(jù),而實(shí)際上只能更新120條數(shù)據(jù)。這是怎么回事。把b表中publishyear字段更新到對(duì)應(yīng)的a表publishyear字段中.
但是當(dāng)我進(jìn)行操作
SELECT * FROM a表,b表 where a表.c字段 = b表.d字段這個(gè)查詢的時(shí)候,可以查詢到全部的9000多條數(shù)據(jù),這是怎么回事我更新數(shù)據(jù)代碼哪里出錯(cuò)了呢?
問題解答
回答1:UPDATE不太適合用WHERE去關(guān)聯(lián)兩表。所以試試這種寫法:
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)
相關(guān)文章:
1. golang - 用IDE看docker源碼時(shí)的小問題2. docker-machine添加一個(gè)已有的docker主機(jī)問題3. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?4. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異?!钡膬?nèi)存錯(cuò)誤?5. docker - 如何修改運(yùn)行中容器的配置6. phpstudy8.1沒集成mysql-front7. 我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)8. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!9. 前端 - @media query 使用出現(xiàn)的問題?10. html5和Flash對(duì)抗是什么情況?

網(wǎng)公網(wǎng)安備