首页 文章

MySQL的 . 两个表,复制一列

提问于
浏览
1

我正在学习MySQL,我有一个问题 . 我有两个表.. table1和table2 . table1包含几个列,如(id,type,id_marca,price)等,table2有几列,如(id,values,..,id_marca) . 我想要的和我想要做的是:第一个表中的id_marca有值,第二个表中的id_marca有NULL值 . 我想将id_marca.table1中的值复制到id_marca.table2中 . 基本上将第一个表中的列复制到第二个表中 .

我用了

INSERT INTO table2 (id_marca) SELECT  id_marca  FROM table1 ;

但问题是以下..它在NULL值之后插入第一个表中的列的值,并且不替换它们 .

要更好地查看问题:这是table1:

id    name    id_marca
1      a         1
2      b         1 
3      c         2

这是table2:

id   value   id_marca
1      123         NULL
2      34155       NULL
3      123         NULL

执行INSERT INTO table2(id_marca)SELECT id_marca FROM table1后,表2变为:

id   value   id_marca
1      123         NULL
2      34155       NULL
3      123         NULL
4       0            1
5       0            1
6       0            2

但我希望它是:

id   value   id_marca
1      123         1
2      34155       1
3      123         2

希望你能理解,先谢谢你们 .

1 回答

  • 3

    您应该使用UPDATE而不是INSERT,如果这些表按ID字段逻辑链接,请尝试:

    UPDATE TABLE2 a 
        JOIN TABLE1 b ON a.id = b.id
    SET a.id_marca = b.id_marca
    

相关问题