需求:把一個表某個字段內容複製到另外一張表的某個字段。php
實現sql語句1:sql
UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_folder f2 ON f1.name = f2.name AND f2.parentId = 54 SET f1.parentId = 54 WHERE f2.name IS NULL AND f1.id IN (1,2,3);
實現sql語句2:數據庫
update B set extra = A.extra from A join B on (A.id = B.id);
我試了好像報錯code
實現sql語句3:blog
update b set b.sms = (select a.sms from a where a.id = b.id)
須要肯定兩張表中的id都是主鍵或者惟一
實現sql語句4:get
UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);
實現sql語句5:
複製一個表字段數據到另一個表的字段,能夠這麼寫:
實現sql語句5:同步
UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid SET tb_1.tcontent = tb_2.tcontent
附:同表複製
需求:把同一張表的一個字段內的內容複製到另外一個字段裏
例1:
我想把article表中A字段的內容複製到article表中B字段裏面sql語句爲:table
update article set B=A;
例2:
有時候,咱們須要複製某個字段一整列的數據到另一個新的字段中,這很簡單,SQL能夠這麼寫:class
UPDATE tb_1 SET content_target = content_source;
大概寫法以下:object
Update {your_table} set {source_field} = {object_field} WHERE cause
最後,我用的是
UPDATE k1.tb1 kt1 INNER JOIN k2.tb2 kt2 ON kt1.id = kt2.id SET kt1.sex = kt2.sex
數據庫k1的tb1表同步數據庫k2的tb2表對應id的sex