欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql多表關(guān)聯(lián)更新方式

 更新時間:2022年12月12日 10:44:01   作者:程序螺絲釘  
這篇文章主要介紹了Mysql多表關(guān)聯(lián)更新方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mysql多表關(guān)聯(lián)更新

日常的開發(fā)中一般都是寫的單表update語句,很少寫多表關(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等等

通過 INNER JOIN,可以更新關(guān)聯(lián)的多張表

update 表1
inner join 表2 ? on ?表1.列名=表2.列名 ?--外表鏈接 ID
set ?表1.列名=值;--更新的內(nèi)容

通過 LEFT JOIN ,可以更新關(guān)聯(lián)的多張表

update ?表1
left join 表2 ?on ?表1.列名=表2.列名 ?--外表鏈接ID
set ?表1.列名=新值;

通過子查詢,只更新一張表

update 表1
set 表1.列名=(select ?字段 ?from ?表2 ?where ?表2.列名=表1.列名 );

Mysql多表關(guān)聯(lián)update

日常的開發(fā)中一般都是寫的單表update語句,很少寫多表關(guān)聯(lián)的update。

在MySQL中,update的多表連接更新和select的多表連接查詢在使用的方法上存在一些小差異。

來看一個具體的例子。

update table1 t1
? ? inner join table2 t2
? ? ? ? on t1.id = t2.id
set t1.name=t2.name;

在上面的例子中,update關(guān)鍵字后跟的是一個多表關(guān)聯(lián)的結(jié)果集,MySQL直接將這個多表關(guān)聯(lián)的結(jié)果集看做一個單表,再在這個單表的基礎(chǔ)上做常規(guī)的update操作。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論