【发布时间】:2014-05-15 09:03:05
【问题描述】:
我正在学习 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 值之后插入第一个表中列的值,而不是替换它们。
要更好地了解问题: 这是表 1:
id name id_marca
1 a 1
2 b 1
3 c 2
这是表2:
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
希望你能理解,提前谢谢你们。
【问题讨论】:
-
是的,你正在插入,所以它添加了你可能正在寻找更新的新行,我想它是 stackoverflow.com/questions/23671959/… 的延续
-
@AbhikChakraborty 不,这不是那个的延续。不同的东西。 :)
-
我的意思是继续,您现在在第二个表中添加 id_marca 以加入表 :)
-
@AbhikChakraborty 哦,是的。