2013-12-09 44 views
2

我已經使用XAMPP在本地安裝了MyBB,並且運行順利。但是當我在服務器上執行它時,它會給我帶來錯誤。#1366 - 錯誤的整數值:第1行'cid'列爲'NULL'

MyBB的創建,並通過自身插入大量的數據,我發現這些錯誤是在像查詢:

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

在我的本地的MySQL(這是5.5.27兩個)接受這種查詢,其中'NULL'作爲字符串傳遞。但是在服務器中,如標題所示,出現錯誤#1366。

問題是,更改查詢不是一個選項,因爲它是很多查詢,所以任何人都有一個想法,我可以配置這個工作?

在此先感謝。

+0

我知道MySQL的,當我恢復一些不同版本生成的備份,然後它有一些語法的區別就像你有。但有恢復的選項,即'忽略錯誤'like – donstack

+0

實際上我不導出數據庫,我在服務器上安裝MyBB的新版本,當我使用它時(安裝插件等等),出現這個錯誤。 –

回答

3

問題是,對於MySQL(在這種情況下)'NULL'是不一樣的NULL

由於事實列期待,而下面將工作中的語句不工作數值數據:

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

...也許你可以改變the MySQL mode the server is running on

2

我認爲你的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" 

方法2:

您可能可以在您的da中運行SQL查詢tabase管理工具,例如phpMyAdmin的,可以正常地從您的網絡託管控制面板中找到:

SET @@global.sql_mode= ''; 
相關問題