mysql # 1366 -整数值不正确:第1行的列'cid'为'NULL'

wnavrhmk  于 2023-03-17  发布在  Mysql
关注(0)|答案(2)|浏览(134)

我已经使用XAMPP在本地安装了MyBB,它运行得很顺利。但是当我在服务器上安装时,它给予了我错误。
MyBB创建和插入大量的数据本身,我发现错误是在查询如下:

INSERT INTO... VALUES ('NULL', ...)

在我的本地主机上MySQL(两者都是5.5.27)接受这种查询,其中'NULL'作为字符串传递,但在服务器上它给出了一个错误#1366,正如标题所示。
问题是,改变查询不是一个选项,因为它是大量的查询,所以任何人都有一个想法,我可以配置这个工作?
先谢了。

mjqavswn

mjqavswn1#

我认为您的MySQL服务器正在严格模式下运行。
这可以用两种方法中的一种来修复,但你可能必须让你的托管公司为你做这件事。

**方法1:**打开MySQL安装目录中的“my.ini”文件,查找类似...

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

替换为:

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

方法二:

您可以在您的数据库管理工具中运行SQL查询,例如phpMyAdmin,通常可以在您的虚拟主机控制面板中找到:

SET @@global.sql_mode= '';
0s7z1bwu

0s7z1bwu2#

问题是,对于MySQL(在本例中),**'NULL'NULL**不同。
由于列需要数值数据,因此您的语句不起作用,而下面的语句起作用:

INSERT INTO ... VALUES (NULL, ...)

......也许您可以更改the MySQL mode the server is running on

相关问题