繁体   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