Home > Database > Mysql Tutorial > Incorrect integer value: ''for column 'id' at row 1解决_MySQL

Incorrect integer value: ''for column 'id' at row 1解决_MySQL

WBOY
Release: 2016-06-01 13:32:17
Original
2089 people have browsed it

bitsCN.com

Incorrect integer value: ''for column 'id' at row 1解决

 

最近在写个查询 插入语句的时候 我是这么写的 

insert into test values('',row[contentid],′".tn."'); 
Copy after login

结果搞死没插入进去 然后我 mysql_error() 了一下 就报

Incorrect integer value: '' for column 'id' at row 1 这个错误

一般我们是认为应该没错误的。后来查了下MYSQL的资料。发现5以上的版本如果是空值应该要写NULL

这种问题一般mysql 5.x上出现。我用的mysql5.1

官方解释说:得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode

那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

my.ini中查找sql-mode,

默认为

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
Copy after login

将其修改为

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
Copy after login

 

 

重启mysql后即可

 

那么如果是虚拟主机或者是空间怎么办了。如果你能让空间商帮你改那是最好。

 

如果不能,那你就只能程序改改。都规范一点。空值就写 null 代替吧。

 

bitsCN.com
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template