我已经使用XAMPP在本地安装了MyBB,它运行得很顺利。但是当我在服务器上安装时,它给予了我错误。MyBB创建和插入大量的数据本身,我发现错误是在查询如下:
INSERT INTO... VALUES ('NULL', ...)
在我的本地主机上MySQL(两者都是5.5.27)接受这种查询,其中'NULL'作为字符串传递,但在服务器上它给出了一个错误#1366,正如标题所示。问题是,改变查询不是一个选项,因为它是大量的查询,所以任何人都有一个想法,我可以配置这个工作?先谢了。
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= '';
0s7z1bwu2#
问题是,对于MySQL(在本例中),**'NULL'与NULL**不同。由于列需要数值数据,因此您的语句不起作用,而下面的语句起作用:
'NULL'
NULL
INSERT INTO ... VALUES (NULL, ...)
......也许您可以更改the MySQL mode the server is running on。
2条答案
按热度按时间mjqavswn1#
我认为您的MySQL服务器正在严格模式下运行。
这可以用两种方法中的一种来修复,但你可能必须让你的托管公司为你做这件事。
**方法1:**打开MySQL安装目录中的“my.ini”文件,查找类似...
替换为:
方法二:
您可以在您的数据库管理工具中运行SQL查询,例如phpMyAdmin,通常可以在您的虚拟主机控制面板中找到:
0s7z1bwu2#
问题是,对于MySQL(在本例中),**
'NULL'
与NULL
**不同。由于列需要数值数据,因此您的语句不起作用,而下面的语句起作用:
......也许您可以更改the MySQL mode the server is running on。