欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL 错误 1366:1366 Incorrect integer value

程序员文章站 2022-04-04 14:25:10
...

MySQL 错误 1366:1366 Incorrect integer value 这个必须记录下来,整整折磨了我一天,最后发现其实只是一个sql错误跟其他的没有任何关系,像这样的问题经验较丰富的程序员应该会第一时间想到是 mysql问题,但是一般的人都会认为是php源程序出错了,这是个思

MySQL 错误 1366:1366 Incorrect integer value

这个必须记录下来,整整折磨了我一天,最后发现其实只是一个sql错误跟其他的没有任何关系,像这样的问题经验较丰富的程序员应该会第一时间想到是 mysql问题,但是一般的人都会认为是php源程序出错了,这是个思维惯性,平时接触最多的就是php代码,所以很难想到是MySQL问题,虽然已经提示的很明显了,执行以后提示错误代码时“1366 Incorrect integer value: '' for column 'configuration_group_id' at row 1
in:
[INSERT INTO nfj_configuration_group VALUES ('', 'Easy Populate', 'Config options for Easy Populate', '1', '1')]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
”。

1366错误是MySQL配置问题,你只要找到my.ini文件并查找sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这句话,将双引号前面{STRICT_TRANS_TABLES,}删除,改成sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启一下mysql后即可。前者很严格,不允许向数据库插入空值,所以就会有Value后面那个单引号。切忌看错误提示啊,不然弯路够你走的啊。。。