我正在学习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
希望你能理解,先谢谢你们。
答案 0 :(得分:3)
你应该使用UPDATE而不是INSERT,如果这些表按ID字段逻辑链接,那么试试:
UPDATE TABLE2 a
JOIN TABLE1 b ON a.id = b.id
SET a.id_marca = b.id_marca
答案 1 :(得分:0)
__set__
将表列复制到另一表中__delete__
__getattr__