亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL更新表基于另一個表的值

MySQL更新表基于另一個表的值

慕碼人8056858 2019-09-24 16:12:35
我有兩個桌子,這是我的第一張桌子,ID      SUBST_ID        CREATED_ID1       031938          TEST1232       930111          COOL1233       000391          THIS1094       039301          BRO10115       123456          COOL938...     ...             ...這是我的第二張桌子ID      SERIAL_ID       BRANCH_ID1       039301          NULL2       000391          NULL3       123456          NULL...     ...             ...我需要一些如何使用第一個表中的數據更新第二個表中的所有行的信息。它需要在一個更新查詢中完成所有這些操作。SUBST_ID和SERIAL_ID都匹配,它需要從第一個表中獲取created_id并將其插入第二個表中。因此,第二張表將變為以下內容,ID      SERIAL_ID       BRANCH_ID1       039301          BRO10112       000391          THIS1093       123456          COOL938...     ...             ...感謝您的幫助和指導。
查看完整描述

3 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

UPDATE TABLE2

       JOIN TABLE1

       ON TABLE2.SERIAL_ID = TABLE1.SUBST_ID

SET    TABLE2.BRANCH_ID = TABLE1.CREATED_ID;


查看完整回答
反對 回復 2019-09-24
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

除了Tom的答案之外,如果您需要經常重復操作并希望節省時間,還可以執行以下操作:


UPDATE TABLE1

       JOIN TABLE2

       ON TABLE1.SUBST_ID = TABLE2.SERIAL_ID

SET    TABLE2.BRANCH_ID = TABLE1.CREATED_ID

WHERE TABLE2.BRANCH_ID IS NULL


查看完整回答
反對 回復 2019-09-24
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

使用INNER JOIN:


UPDATE TABLE1

INNER JOIN TABLE2 ON TABLE1.SUBST_ID = TABLE2.SERIAL_ID

SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID;

另一個替代解決方案,如下所示:在這里我使用WHERE子句代替JOIN


UPDATE 

    TABLE1,

    TABLE2

WHERE

    TABLE1.SUBST_ID = TABLE2.SERIAL_ID

SET 

    TABLE2.BRANCH_ID = TABLE1.CREATED_ID;


查看完整回答
反對 回復 2019-09-24
  • 3 回答
  • 0 關注
  • 527 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號