展會(huì)信息港展會(huì)大全

MySQL 從一張表update字段到另外一張表中
來源:互聯(lián)網(wǎng)   發(fā)布日期:2015-09-21 21:40:22   瀏覽:9520次  

導(dǎo)讀:使用MySQL 4.0版或更高更新您可以通過加入兩個(gè)或多個(gè)表一起一表;通過加入兩個(gè)表連同您可以更新一個(gè)表的記錄在相關(guān)領(lǐng)域的總部設(shè)在另一個(gè)表。...

先來幾個(gè)簡單的示例

Solution 1: 1列

update student s, city c

set s.city_name = c.name

where s.city_code = c.code;

Solution 2: 多個(gè)列

update a, b

set a.title=b.title, a.name=b.name

where a.id=b.id

Solution 3: 子查詢

update student s set city_name = (select name from city where code = s.city_code);

我們?cè)賮砜磶讉(gè)負(fù)責(zé)寫的

例如: 把表 tk_zyt_scenery_order的 字段更新到 t_advs_order中去, 一般可能會(huì)這樣寫:

UPDATE t_advs_order SET

attribute1=(SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`),

attribute2=(SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`)

WHERE EXISTS (SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`);

這樣效率比較低下, 優(yōu)化寫法:

UPDATE t_advs_order a INNER JOIN tk_zyt_scenery_order s ON s.order_id=a.`on` SET

a.attribute1=s.order_id,

a.attribute2=s.order_id;


贊助本站

相關(guān)內(nèi)容
AiLab云推薦
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實(shí)驗(yàn)室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動(dòng)態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會(huì) | 展會(huì)港