將工作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
行?
'SET的sql_mode =「」'不是解決實際找到的錯誤 –
有項目中的任何代碼GROUP_BY添加一些代碼對thatt –
謝謝@AbdullaNilam - 實際的錯誤是場從表格中清空,但應該是INT。它以前的工作假設空字段意味着NULL。它在升級服務器時停止工作,但仍應接受空字段爲NULL。我試圖執行的UPDATE查詢中沒有group_by。 – zJorge