对于这样的错误首先先看一下字面上的以上,英语不行的可以用翻译软件看一下,这句话是什么意思:“id字段为‘’值是一个错误的int类型值
先看一个mysql错误,SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1。
这是添加数据的接口丢出了这样的一个mysql错误。
对于这样的错误首先先看一下字面上的以上,英语不行的可以用翻译软件看一下,这句话是什么意思:“id字段为‘’值是一个错误的int类型值”。
问题找到了,插入数据类型不一致问题。
问题解决方法:
1.插入正确的类型的数据
id是一个自增id,插入的时候不需要设置id值。我的这个项目报错原因在于,把编辑和添加代码写到一起了,公用了一段插入数据的代码参数,由于添加没有id值,就变空字符了,从而丢出了这样一个错误。这里直接在添加之前unset掉插入数组数据的id项就搞定了。
2.修改mysql配置my.ini
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
//将STRICT_TRANS_TABLES这个选项去掉
我们推荐用第一种方式解决,第二张方式虽然把问题解决了,但有点自宫的味道,STRICT_TRANS_TABLES严格的方式操作表,本意是要保护mysql中的数据,直接去了对mysql数据安全是一种威胁。
本身这个问题就是我们自己代码不规范造成的,不管从规范代码还是保护数据前者是最佳选择。
除特别注明外,本站所有文章均为作者原创。 或分享自己的编程经验,或探讨工作中的问题,或聊以人生趣事。 转载请注明出处来自 https://www.qiusuoweb.com/85.html
运营天数
总访问量
文章数量
-
-
-
交流群:157451741
新浪微博:草莽兴
发布评论