1366
背景:今天在做开发过程中,报了一个很莫名其妙的错误,错误提示信息如下:
sqlSTATE[HY000]: General ERROR: 1366 incorrect integer value: '' for column 'start' at row 1
经过分析排查,找到了错误产生的原因:
1、我在建表时,其中字段 "start"是这么定义的:
`start` int(11) NOT NULL DEFAULT '0' comment '开始时间',
start 字段不能为空,默认值为0,我在使用ThinkPHP框架的add($data)方法添加数据时,因为用不到start字段就没有给start指定具体内容,本想着在数据添加时,mysql数据库会将start字段值设为默认值0,没想到却直接报错了,现给出以下两种方法:
方法一、在使用add($data)方法向数据库添加数据时,我们可以在前钩子函数_before_insert(&$data)方法中给start赋值为0,这样在执行数据添加时就会避免错误;
方法二、直接修改MySQL的配置文件my.ini(windows系统,linux系统下是/etc/my.cnf)
修改前:
修改后:
修改完my.ini配置文件,一定要记得重启mysql服务器,重启命令: net stop mysql net start mysql
2、小扩展:
--------strict sql mode(没有删除"STRICT_TRANS_TABLES"这句话之前的sql mode就是strict sql mode)的注意事项:
---------------不支持对not null字段插入null值;
---------------不支持对自增长字段插入空字符'',但可以插入null值;
---------------不支持对类型为text的字段设置默认值;
相关阅读
解决应用程序错误,内存不能为“read”或“written”
内存不能为“read”或“written”的解决方案 有些人运行飚车程序的时候会弹出该内存不能为“read”的错误提示。希望以下文章能
淘宝网店装修好不好,关键要看大家细节有没有做到位。当你挖空心思在想营销策略时,店铺装修不好再好的运营方法也会无济你是否会想到
除法是我们小学都会的,就是下面这个: 相信上过小学的人都知道,除法一步步是怎么除出来的,除法的结果是商。除法的几个变量是除数,被除
以管理员权限运行安装程序即可。
Mysql配置文件my.cnf 安装了mysql没有my.cnf文件的情况 1、可以把mysql的示例配置文件,如my-medium.cnf拷贝到/etc/my.cnf,再去修改