簡體   English   中英

如何將一行從一個表更新到另一個表?

[英]How to update a row from one table to another?

我嘗試將表的某些行更新為不同的表,現在我只是想知道如何從一個表插入一行到另一個表,如:

INSERT INTO dialecte_org_5.tb_data_iae (
    SELECT * FROM dialecte_org_88.tb_data_iae WHERE id_dialecte = 2413
);

什么可能是相同的聲明,但更新? 有沒有辦法做這樣的事情,如果行存在 - >“更新”,如果不是“插入”

謝謝

對於插入,您通常要為insert語句和select指定完整字段列表( http://dev.mysql.com/doc/refman/5.5/en/insert.html ):

INSERT INTO dialecte_org_5.tb_data_iae (field1, field2, field3)
SELECT field1, field2, field3
FROM dialecte_org_88.tb_data_iae WHERE id_dialecte=2413;

更新聲明更像是這樣( http://dev.mysql.com/doc/refman/5.0/en/update.html ):

UPDATE dialecte_org_5.tb_data_iae t1
INNER JOIN dialecte_org_88.tb_data_iae t2 ON t1.id = t2.id
SET t1.field1 = t2.field1, t1.field2 = t2.field2, t1.field3 = t2.field3
WHERE t2.id_dialecte=2413

您也可以使用REPLACE INTO,它同時執行這兩種操作,但是特定於MySQL,不受其他RDBMS的支持( http://dev.mysql.com/doc/refman/5.0/en/replace.html ):

REPLACE INTO dialecte_org_5.tb_data_iae t1
INNER JOIN dialecte_org_88.tb_data_iae t2 ON t1.id = t2.id
SET t1.field1 = t2.field1, t1.field2 = t2.field2, t1.field3 = t2.field3
WHERE t2.id_dialecte=2413

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM