2016-04-25 13 views
3

イムを持っていないとDBのMySQL - 「フィールドは」Laravelフレームワークを使用してデフォルト値

エラーメッセージが表示されて、それがエラーを与える:

[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'は文字列の値なので、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

$ AID = DB ::テーブル( '添付ファイル') - > insertGetId([ 'document_type_code' => $ DOCUMENT_ID、 'report_no' => 'レポート' $のDOCUMENT_ID、 'file_attachment_link' => $ファイルパス、 。 'upload__by' => 1、// Auth :: user() - > id 'version_number' => 1, ]); –

+0

質問を編集してそこにコードを貼り付けてください – Saty

答えて

1

Noneはデフォルトの文字列値ではありません。つまり、デフォルト値は設定されていません。

INSERTステートメントに値を渡すか、実際にその列の既定値を保持するようにテーブルを変更することができます。

あなたは、テーブルを直接編集しないでくださいテーブルに

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

からそれを行うには、このsqlステートメントを使用することができます。あなたはそのモデルを持っています。 は、新しい移行を生成し、NULL可能であることをあなたにフィールドを設定します。あなたのコードを表示

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

、その後php artisan migrate

+0

私は同じエラーが発生しています。私を助けてください - https://stackoverflow.com/questions/46322806/sqlstatehy000-general-error-1364-field-photo-doesnt-have-a-default-value –

関連する問題