日常的開發中一般都是寫的單表update語句,很少寫多表關聯的update。
不同於SQL Server,在MySQL中,update的多表連接更新和select的多表連接查詢在使用的方法上存在一些小差異。
來看一個具體的例子。
update orders o left join users u on o.userId = u.id set o.userName = u.name;
在上面的例子中,update關鍵字后跟的是一個多表關聯的結果集,MySQL直接將這個多表關聯的結果集看做一個單表,再在這個單表的基礎上做常規的update操作。
和SQL Server的細小差別在於,SQL Server的set子句跟在要更新的具體表之后,MySQL的set語句則是跟在要更新的結果集之后(要更新的具體表在set語句中設置)。
"付出感情的公平在於,你有沒有像我對待你那么好一樣對待我呢。"