我用程序往MySql的表里写数据时提示:SQL State:01004 相关信息是:Data truncation: Data too long for column 'ITEM_P9' at row 1. 但是我把ITEM_P9这个字段的长度设成varchar(100),并且我往ITEM_P9字段插入的数据长度都不超过50个字符,但是我在mysql-front里,执行相同的sql语句是可以的,也没报错。真郁闷啊:-( 希望各位朋友帮忙分析一下原因,谢谢!
终于查出罪魁祸首了,呵呵! "上海—广州",不知道中间哪个一杠是个什么符号,无论字段设得多大(varchar,char) 只要插入的值中有"—",如果用程序来插入,肯定报错"Data truncation: Data too long for column 'ITEM_P6' at row 1"。 但是Mysql-front或其他数据库工具插入就没问题。
比如jdbc使用utf8连接,但表中列的字符编码采用LATIN1,使用统一的编码就可以解决这个问题了
不过还是不行,我都是GB2312编码的。
郁闷了!
只要插入的值中有"—",如果用程序来插入,肯定报错"Data truncation: Data too long
for column 'ITEM_P6' at row 1"。
但是Mysql-front或其他数据库工具插入就没问题。
不知道"—"什么来头!!