插入文本上的MySQL错误1292

时间:2013-04-01 19:45:17

标签: mysql sql insert mysql-error-1292

我正在尝试将2个字段的组合插入到一个字段中,每次执行此操作时都会收到有关截断数据的错误。

代码:

insert into sharppatentdb.Inventor (InventorFull)
select InventorFirst + " " + InventorLast 
from sharppatentdb.inventorsource;

错误:

  

错误代码:1292。截断错误的DOUBLE值:'Rossi-Wolter'

所有来源字段均为VARCHAR(64) InventorFull字段为VARCHAR(511)我做错了什么?

1 个答案:

答案 0 :(得分:0)

所以问题是基于这个陈述,InventorFull必须是511个字符:

  

所有字段均为VARCHAR(255)

因为在混合的某个地方,两个字段InventorFirst,单个空格和InventorLast的串联大于255个字符。当您为连接值构建字段时,它们需要是两个字段的组合大小以及任何其他字符。

为了更清楚地描述您的InventorFull字段需要511个字符的原因 - 您的两个字段为255个字符 你在两者之间添加一个字符:

255 + 255 + 1 = 511

此外,如评论中所示,值得注意的是,这不适用于 小于 5.0.3的MySQL版本。