String data,right truncated:1406 Data too long for column 'content' at row 1
當Mysql提示如下時:


1、首先查看存入的文本內容的大小,根據內容大小設置類型


如果超出,根據大小進行更換類型
2、如果還是超出那可能是Mysql根據配置文件限制Server接受數據包大小,有時候大的插入和更新會受max_allowed_packet參數限制,導致寫入或者更新失敗。
查看目前配置:
代碼如下:


以上說明目前的配置是:60 M
修改方法
1、修改配置文件
可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改。
代碼如下:
max_allowed_packet = 20M
如果找不到my.cnf可以通過
代碼如下:
mysql --help | grep my.cnf
去尋找my.cnf文件。
linux下該文件在/etc/下。
2、在mysql命令行中修改
在mysql 命令行中運行:
代碼如下:


注意:
這樣修改會報錯:mysql> set max_allowed_packet=16MB;
ERROR 1232 (42000): Incorrect argument type to variable 'max_allowed_packet'
然后退出命令行,重啟mysql服務,再進入。
/etc/init.d/mysqld start
代碼如下:
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否編輯成功
注意:該值設置過小將導致單個記錄超過限制后寫入數據庫失敗,且后續記錄寫入也將失敗。
原文鏈接:
http://lixiangfeng.com/blog/article/content/7813174如若轉載請保留原文鏈接!!謝謝