将表中两列的连接值插入另一个表的单个列

时间:2013-02-28 20:19:58

标签: mysql sql concatenation mysql-error-1292

我有一个有三列的表。它们是VarChar类型。我希望连接第一列和第二列的值,并将其插入另一个表的第一列。

我使用了这段代码

insert into table2(cloumn1)
select city+''+Coalesce(zipcode) from table1

我收到错误

Error Code: 1292. Truncated incorrect DOUBLE value: 'london'

“伦敦”是第一行的值,第二行的值是“123.2.4.4” 两列都声明为VarChar。

我应该在查询中更改什么来获取table2中看起来像“london 123.2.4.4”的值?

1 个答案:

答案 0 :(得分:2)

您应该使用CONCAT()函数来连接字符串:

insert into table2(cloumn1)
select CONCAT(city, Coalesce(zipcode, '')) 
from table1

确保要插入的列的数据类型是varchar。如果数据类型是double,则会收到此错误。