我已经使用XAMPP安装了MyBB local,并且运行顺利。但是,当我在服务器上执行此操作时,它会给我错误。
MyBB自行创建并插入大量数据,我发现错误出在以下查询中:
INSERT INTO... VALUES ('NULL', ...)
Run Code Online (Sandbox Code Playgroud)
在我的本地主机上,MySQL(两者均为5.5.27)接受这种查询,其中'NULL'作为字符串传递。但是在服务器中,标题显示错误#1366。
问题在于更改查询不是一个选择,因为它是很多查询,因此任何人都可以将其配置为可以运行的想法?
提前致谢。
小智 7
我认为您的 MySQL 服务器在严格模式下运行。
这可以通过两种方式之一解决,但您可能需要让您的托管公司为您做这件事。
方法一: 打开MySQL安装目录下的“my.ini”文件,查找类似...
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Run Code Online (Sandbox Code Playgroud)
用。。。来代替:
# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Run Code Online (Sandbox Code Playgroud)
方法二:
您可以在您的数据库管理工具(例如 phpMyAdmin)中运行 SQL 查询,通常可以从您的虚拟主机控制面板找到它:
SET @@global.sql_mode= '';
Run Code Online (Sandbox Code Playgroud)
问题在于,对于MySQL(在这种情况下)'NULL'
与NULL
。
由于该列需要数字数据,因此您的语句不起作用,而以下内容将起作用:
INSERT INTO ... VALUES (NULL, ...)
Run Code Online (Sandbox Code Playgroud)
...也许您可以更改服务器运行所在的MySQL模式。