天天看點

mysql複制列_mysql複制一列到另一列

mysql複制一列到另一列

UPDATE 表名 SET B列名=A列名

需求:把一個表某個字段内容複制到另一張表的某個字段。

實作sql語句1:

複制代碼代碼如下:

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);

實作sql語句3:

複制代碼代碼如下:

update b set b.sms = (select a.sms from a where a.id = b.id)

需要确定兩張表中的id都是主鍵或者唯一

實作sql語句4:

複制代碼代碼如下:

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語句為:

複制代碼代碼如下:

update article set B=A;

例2:

有時候,我們需要複制某個字段一整列的資料到另外一個新的字段中,這很簡單,SQL可以這麼寫:

複制代碼代碼如下:

UPDATE tb_1 SET content_target = content_source;

大概寫法如下:

複制代碼代碼如下:

Update {your_table} set {source_field} = {object_field} WHERE cause

現有表A和表B,希望更新A表,當 A.bid = B.id時,a.x = b.x, a.y=b.y:

update a inner join b on a.bid=b.id set a.x=b.x,a.y=b.y;