我已经使用XAMPP安装了MyBB本地,并且顺利进行。但是当我在服务器上执行此操作时,它会给我错误。
MyBB自己创建并插入大量数据,我发现错误出现在以下查询中:
INSERT INTO... VALUES ('NULL', ...)
在我的localhost MySQL上(两者都是5.5.27)接受这种查询,其中'NULL'作为String传递。但是在服务器中,标题显示错误#1366。
问题是更改查询不是一个选项,因为它有很多查询,所以任何人都知道我可以将其配置为工作吗?
提前致谢。
答案 0 :(得分:4)
问题是对于MySQL(在这种情况下) 'NULL'
与NULL
不同。
由于该列期望数字数据这一事实,您的语句不起作用,而以下内容将起作用:
INSERT INTO ... VALUES (NULL, ...)
...也许你可以改变the MySQL mode the server is running on。
答案 1 :(得分:4)
我认为您的MySQL服务器正在严格模式下运行。
可以通过以下两种方式之一修复此问题,但您可能需要让托管公司为您执行此操作。
方法1: 打开" my.ini"在MySQL安装目录中的文件,并寻找类似......
的内容# 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"
方法2:
您可以在数据库管理工具中运行SQL查询,例如phpMyAdmin,通常可以从您的Web托管控制面板中找到:
SET @@global.sql_mode= '';