将数据从一个表复制到另一个表,其中列数不同

时间:2016-11-07 18:50:34

标签: mysql

我有两张桌子

table_1
-------
id,name,address

table_2
-------
id,name,address,phone_no

我想将table_1中的所有数据复制到table_2。当我执行以下查询时,它会抛出错误。

mysql> insert into table_2 select * from table_1;
ERROR 1136 (21S01): Column count doesn't match value count at row 1

1 个答案:

答案 0 :(得分:1)

指定列:

insert into table_2 (id, name, address) select (id, name, address) from table_1

当然,id需要是可插入的(不是生成的值),而phone_no需要允许null值(否则您必须指定默认值)。