MYsql的enum字段报错row,SQLSTATE[01000]: Warning: 1265 Data truncated for column at row 1错误代码解决方法

MYsql的enum字段报错row,SQLSTATE[01000]: Warning: 1265 Data truncated for column at row 1错误代码解决方法

SQLSTATE[01000]: Warning: 1265 Data truncated for column 'status' at row 1

因为enum类型只支持数字型数据,而且出错率高,尤其是在转移数据的时候,常出错,简直是程序员的噩梦。。。

所以推荐使用文本型的varchar等非enum类型的,这样就OK了


问题现象来源:
 
/var/www/apache2/error.log
PHP Fatal error:  Uncaught PDOException: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'user_reg_ip' at row 1 in /var/www/w/wxApi/vendor/phalapi/notorm/src/NotORM/Result.php:271 Stack trace: #0 /var/www/w/wxApi/vendor/phalapi/notorm/src/NotORM/Result.php(271): PDOStatement->execute() #1 /var/www/w/wxApi/vendor/phalapi/notorm/src/NotORM/Result.php(397): NotORM_Result->query('INSERT  INTO ma...', Array) #2 /var/www/w/wxApi/vendor/phalapi/notorm/src/NotORM/Result.php(414): NotORM_Result->insert_multi(Array) #3 /var/www/w/wxApi/src/app/Model/Model_User.php(49): NotORM_Result->insert(Array) #4 /var/www/w/wxApi/src/app/Domain/Domain_User.php(23): App\Model\Model_User->wxRegister('013UvBFa1iuajA0...', '\xE8\xAF\x9A\xE9\x93\xAD', 'https://thirdwx...', '1001', 'xiaoxiao', 'ios') #5 /var/www/w/wxApi/src/app/Api/User.php(94): App\Domain\Domain_User->wxRegister('013UvBFa1iuajA0...', '\xE8\xAF\x9A\xE9\x93\xAD', 'https://thirdwx...', '1001', 'xiaoxiao', 'ios') #6 [internal function]: App\Api\User->wxRegister() #7 /var/www/w/wxApi in /var/www/w/wxApi/vendor/phalapi/notorm/src/NotORM/Result.php on line 271, referer: https://servicewechat.com/wx5c1f3e3816ec6c32/6/page-frame.html

解决方法:

找到当前使用数据库中相关表中对应的字段user_reg_ip,把这个字段类型该为varchar,长度设为255,经测试果然成功了

当然最后的方法是在创建改表的sql语句中改表的定义就改为varchar,长度为255,是最好的解决方法。

原文地址:https://www.cnblogs.com/it-tsz/p/14265183.html