关于mysql使用命令行时出现Data too long for column的解决方案:

方法一:

1,在mysql根目录下找到my.ini文件;

2:将其中sql-mode中的STRICT_TRANS_TABLES这个属性去掉;

3:重启mysql的服务(注意注销电脑不会重启mysql服务,重启不知道可不可以):

我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止、重启动)

该方法只是将错误隐藏掉,强行插入,很有可能导致插入的值不正确!

 

方法二:

在mysql启动参数中加入 --default-character-set=gbk这个参数

完整命令为 mysql -u root -p --default-character-set=gbk(注意后面参数是有两个中划线的)

但是该方法会使数据库的编码方式改编为gbk,可能会导致java后台获取或者插入的值变成乱码,要慎重使用。

 

具体原因很可能与windows控制台的默认字符集为gbk有关。另外strict 模式时mysql5.7以后才有的特性,所以之前的版本应该不会有这样的问题。

当然该问题最简单的方法还是打开桌面上的navicat.exe,一切烦恼都烟消云散啦!

 

posted @ 2017-11-15 21:35  东窗白  阅读(18762)  评论(0编辑  收藏  举报