Mysql多表關(guān)聯(lián)更新方式
Mysql多表關(guān)聯(lián)更新
日常的開(kāi)發(fā)中一般都是寫的單表update語(yǔ)句,很少寫多表關(guān)聯(lián)的update。
在MySQL中我們有幾種方法可以做到多表關(guān)聯(lián)更新:
在兩張表之間做關(guān)聯(lián),可以更新關(guān)聯(lián)的多張表
update ?biao1,表2 set 表1.列名=表2.列名 ?--外鍵或關(guān)聯(lián)字段 where 更新條件;--例如:表1.列名=表2.列名,或字段aa>1等等
通過(guò) INNER JOIN,可以更新關(guān)聯(lián)的多張表
update 表1 inner join 表2 ? on ?表1.列名=表2.列名 ?--外表鏈接 ID set ?表1.列名=值;--更新的內(nèi)容
通過(guò) LEFT JOIN ,可以更新關(guān)聯(lián)的多張表
update ?表1 left join 表2 ?on ?表1.列名=表2.列名 ?--外表鏈接ID set ?表1.列名=新值;
通過(guò)子查詢,只更新一張表
update 表1 set 表1.列名=(select ?字段 ?from ?表2 ?where ?表2.列名=表1.列名 );
Mysql多表關(guān)聯(lián)update
日常的開(kāi)發(fā)中一般都是寫的單表update語(yǔ)句,很少寫多表關(guān)聯(lián)的update。
在MySQL中,update的多表連接更新和select的多表連接查詢?cè)谑褂玫姆椒ㄉ洗嬖谝恍┬〔町悺?/p>
來(lái)看一個(gè)具體的例子。
update table1 t1 ? ? inner join table2 t2 ? ? ? ? on t1.id = t2.id set t1.name=t2.name;
在上面的例子中,update關(guān)鍵字后跟的是一個(gè)多表關(guān)聯(lián)的結(jié)果集,MySQL直接將這個(gè)多表關(guān)聯(lián)的結(jié)果集看做一個(gè)單表,再在這個(gè)單表的基礎(chǔ)上做常規(guī)的update操作。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL的多版本并發(fā)控制MVCC的實(shí)現(xiàn)
MVCC就是多版本并發(fā)控制,本文主要介紹了MySQL的多版本并發(fā)控制MVCC的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12mysql5.7.19 winx64安裝配置方法圖文教程(win10)
這篇文章主要為大家詳細(xì)介紹了mysql5.7.19 winx64安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07MySql 8.0.16版本安裝提示已經(jīng)不使用“UTF8B3”而是使用“UTF8B4”問(wèn)題
這篇文章主要介紹了MySql 8.0.16版本安裝提示已經(jīng)不使用“UTF8B3”而是使用“UTF8B4”問(wèn)題 ,需要的朋友可以參考下2019-07-07如何解決mysqlimport: Error: 13, Can''t get stat of 的問(wèn)題
本篇文章是對(duì)解決mysqlimport: Error: 13, Can't get stat of問(wèn)題的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysqldump命令導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)方法與實(shí)例匯總
這篇文章主要介紹了mysqldump命令導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)方法與實(shí)例匯總的相關(guān)資料,需要的朋友可以參考下2015-10-10FROM_UNIXTIME 格式化MYSQL時(shí)間戳函數(shù)
對(duì)MYSQL沒(méi)有進(jìn)行過(guò)深入的研究,基礎(chǔ)知識(shí)匱乏,一遇到問(wèn)題只能手冊(cè),看來(lái)要把MYSQL的學(xué)習(xí)安排進(jìn)時(shí)間表了。2011-04-04一文教你學(xué)會(huì)定位線上MySQL鎖超時(shí)問(wèn)題
這篇文章主要介紹了一文教你學(xué)會(huì)定位線上MySQL鎖超時(shí)問(wèn)題,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08徹底搞懂?dāng)?shù)據(jù)庫(kù)操作truncate delete drop關(guān)鍵詞的區(qū)別
這篇文章主要為大家介紹了數(shù)據(jù)庫(kù)操作truncate delete drop關(guān)鍵詞的區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Mysql主鍵UUID和自增主鍵的區(qū)別及優(yōu)劣分析
這篇文章主要介紹了Mysql主鍵UUID和自增主鍵的區(qū)別及優(yōu)劣分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02