2

我已经使用 XAMPP 在本地安装了 MyBB,并且运行顺利。但是当我在服务器上这样做时,它会给我错误。

MyBB 自己创建和插入大量数据,我发现错误出现在如下查询中:

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

在我的本地主机上,MySQL(两者都是 5.5.27)接受这种查询,其中“NULL”作为字符串传递。但在服务器中,如标题所示,它给出了错误 #1366。

问题是更改查询不是一个选项,因为它有很多查询,所以任何人都知道我可以在哪里配置它来工作?

提前致谢。

4

2 回答 2

7

我认为您的 MySQL 服务器正在严格模式下运行。

这可以通过以下两种方式之一解决,但您可能必须让您的托管公司为您执行此操作。

方法一: 打开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"

方法二:

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

SET @@global.sql_mode= '';
于 2015-01-10T18:27:44.357 回答
7

问题是 MySQL(在这种情况下)'NULL'NULL.

由于该列需要数字数据,因此您的语句不起作用,而以下内容将起作用:

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

...也许您可以更改服务器运行的 MySQL 模式

于 2014-06-13T13:44:41.353 回答