2016-04-25 121 views
3

進出口使用Laravel框架,它提供了與DBMySQL的 - 「場」沒有默認值

錯誤消息的錯誤:

[2016-04-25 06:07:34] local.ERROR: exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1364 Field 'remarks' doesn't have a default value' in ...

字段「備註」有一個默認值在PHPMyAdmin中設置爲'None'。我不明白爲什麼它有一個默認值設置時發生錯誤。我相信'None'是一個字符串值,所以它不像NULL值。

$aId = DB::table('attachments')->insertGetId([ 'document_type_code'=>$document_id, 'report_no'=>'report '.$document_id, 
'file_attachment_link'=>$filepath, 'file_attachment_upload'=>$file->getClientOriginalName(), 'uploaded_at'=> $now, 'uploaded_by' => 1, 
//Auth::user()->id 'version_number' => 1, ]); 
+1

請出示你的代碼! – Saty

+0

$援助= DB ::表( '附件') - > insertGetId([ 'document_type_code'=> $ DOCUMENT_ID, 'report_no'=> '報告' $ DOCUMENT_ID, 'file_attachment_link'=> $文件路徑, 。 'file_attachment_upload'=> $ file-> getClientOriginalName(), 'uploaded_at'=> $ now, 'uploaded_by'=> 1,// Auth :: user() - > id 'version_number'=> 1, ]); –

+0

編輯你的問題並粘貼你的代碼 – Saty

回答

1

None不是默認字符串值。這意味着沒有默認值集。

您可以在INSERT語句中傳遞一個值,或者更改表以實際保留該列的默認值。

您可以使用此sql語句更改表

ALTER TABLE attachments MODIFY COLUMN `remarks` VARCHAR(255) DEFAULT 'something'; 

或做它PhpMyAdmin

+0

我得到同樣的錯誤。請幫助我 - https://stackoverflow.com/questions/46322806/sqlstatehy000-general-error-1364-field-photo-doesnt-have-a-default-value –

1

不要直接編輯表。你有你的模型。 生成一個新的遷移並設置字段可空:

$table->string('name', 50)->nullable();

然後php artisan migrate

+0

我得到相同的錯誤。請幫助我-http://stackoverflow.com/questions/46322806/sqlstatehy000-general-error-1364-field-photo-doesnt-have-a-default-value –