在MySQL中将数据从一个表行移动到另一个表行

时间:2016-06-30 17:34:48

标签: mysql sql

我有两张桌子,第一张A,充满了信息。第二个B,是空的。我想从表A中取一行并将其放入表B.到目前为止,我必须在表B中开始一行(填写两列),然后更新。有没有办法只使用我想要的行的其他表信息创建一个新行,相同的模式。我在看LEFT JOIN,但是不能分解如何按行添加它。以下是我到目前为止:

UPDATE tableB
SET tableB.aaa = (SELECT aaa FROM tableA where id = '1'),
    tableB.bbb = (SELECT bbb FROM tableA where id = '1'),
    tableB.ccc = (SELECT ccc FROM tableA where id = '1'),
    tableB.ddd = (SELECT ddd FROM tableA where id = '1'),
    tableB.eee = (SELECT eee FROM tableA where id = '1'),
where proprietaryname='drugC';

另外,有没有办法不重复这个。 SQL新手,感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果要在tableA中的tableB中插入新行,则可以使用insert . . select

insert into tableB(aaa, bbb, ccc, ddd, eee)
    select aaa, bbb, ccc, ddd, eee
    from tableA
    where proprietaryname = 'drugC';