2017-01-04 51 views
0

將工作CodeIgniter站點移動到新服務器後,它在更新或創建記錄時開始顯示Error Number: 1366 Incorrect integer value: '' for column...不能擺脫錯誤編號:1366錯誤的整數值

由於大約有40個字段需要更新,大約有200個函數與此相關,我寧願有一個簡單的解決方案。我將此代碼添加到模型中,以固定的任何空字符串,但不知何故沒有工作之一:

 foreach($data as $key => $val) 
     { 
     echo $key." => ".$val."<br/>"; 
     if ($val = '') { 
      $data[$key] = NULL; 
      echo "^^ string changed to NULL<br/>"; 
     } 
     echo "<br/>"; 
     } 

我已經嘗試了一些答案顯示出這些問題的解決方案:

#1366 - Incorrect integer value:MYsql After installing latest version of MySQL then I get error : #1366 - Incorrect integer value: '' for column 'group_id' at row 1 After installing latest version of MySQL then I get error : #1366 - Incorrect integer value: '' for column 'group_id' at row 1

基本上消除STRICT_ALL_TABLES的my.cnf文件,驗證CI的數據庫配置參數'stricton'設置到FALSE和/或設置SET sql_mode = ""我的PHP文件。

我仍然收到同樣的錯誤。當運行SHOW VARIABLES時,它顯示sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,所以我猜~/.my.cnf並不是覆蓋以前的配置,但我寧願將它保留在本地而不是全局。無論如何,CI的數據庫配置參數是否應覆蓋~/.my.cnf行?

+0

'SET的sql_mode =「」'不是解決實際找到的錯誤 –

+0

有項目中的任何代碼GROUP_BY添加一些代碼對thatt –

+0

謝謝@AbdullaNilam - 實際的錯誤是場從表格中清空,但應該是INT。它以前的工作假設空字段意味着NULL。它在升級服務器時停止工作,但仍應接受空字段爲NULL。我試圖執行的UPDATE查詢中沒有group_by。 – zJorge

回答

相關問題