MySQL - Data too long for column 'uid' at row 1 Query:
2017-03-04 20:51
465 查看
错误:
java.lang.RuntimeException:java.sql.SQLException:Datatruncation:Datatoolongforcolumn'uid'atrow1Query:insertintot_uservalues(?,?,?,?,?,?)Parameters:[E6610CDAE9F3460E98A6DD3176DA5225,xxx,123,xxx126.com,false,A6B38790C8484410920C0CDB48EDF936F697C6D1D23D4BF48BE76C59A97B84CB]
现象:我们把数据库的字符集编码设置为utf-8,我们通过DOS界面向表的某一列插入汉字时会遇到类似
datatoolongforcolumn'name'atrow1的错误。
1.可能是因为数据库里的表设置的字符集不相同。
2.也可能真是数据库字段里数据库确实过长(我是遇到的这种情况)。
例如:在同一个数据库中,存在utf8的表,也存在gbk_chinese_ci的表。
解决办法:
altertable`cms_activity_test`converttocharactersetgbkcollategbk_chinese_ci;(单独修改指定表的字符集)一般都是修改数据库Mysql的默认字符集和修改单个数据库的字符集
1.在Mysql数据库目录下找到my.ini文件,然后Ctrl+F查找character-set,修改
2.修改单个数据库字符集,data目录下找到db.opt文件,然后修改
3.用命令设置
mysql>SETcharacter_set_connection=utf8;
mysql>SETcharacter_set_database=utf8;
mysql>SETcharacter_set_results=utf8;
mysql>SETcharacter_set_server=utf8;
mysql>SETcollation_connection=utf8;
mysql>SETcollation_database=utf8;
mysql>SETcollation_server=utf8;
4.如果还嫌太麻烦了,就用一个蠢办法,如果整个数据库表不多且数据量不大的情况下,就将整个库导出,然后再去修改文件中字符集不一的表,最后再导入数据库。。。
解决的办法:(1)setnamesgbk;(只对当前窗口有效)
(2)找到mysql的安装目录,把文件my.ini里的“default-character-set=utf8”修改为“default-character-set=gbk”,然后重启mysql服务
原文:http://www.cnblogs.com/xmaomao/archive/2013/04/15/3022571.html
相关文章推荐
- mysql: Packet for query is too large 和Data too long for column
- mysql: Packet for query is too large 和Data too long for column
- Data too long for column 'name' at row 1 mysql的抛出异常的解决办法--之前方法不管用-要设置数据库编码
- MYSQL---Data too long for column 'sex' at row 1”错误处理办法
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1”
- Data too long for column 'name' at row 1 mysql的抛出异常的解决办法
- 数据库编码com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1
- mysql 数据库 错误 Data truncation: Data too long for column 'name' at row 1
- jdbc 连mysql 时报 Data too long for column 'name' at row 1 错误
- ### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column \'name\' at row 1
- jdbc 连mysql 时报 Data too long for column 'name' at row 1 错误
- mysql: Packet for query is too large 和Data too long for column
- Data too long for column 'type' at row 1 Query: insert into news
- DBD::mysql::st execute failed: Data too long for column...解决办法之一
- php+mysql data too long for column xxx解决方案
- MySql中插入中文数据提示Data too long for column X at row n的解决
- MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1
- Mysql 中ERROR 1406 (22001): Data too long for column 解决方法
- mysql错误:data too long for column
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1