我正在使用Laravel框架,它给出了DB
的错误错误讯息:
[2016-04-25 06:07:34] local.ERROR:异常'PDOException'用 消息'SQLSTATE [HY000]:常规错误:1364字段'备注'没有 有一个默认值'in ...
字段'remarks'在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, ]);
答案 0 :(得分:1)
None
不是默认字符串值。这意味着没有设置默认值。
您可以在INSERT
语句中传递值,也可以更改表格以实际保留列的默认值。
您可以使用此sql
语句来更改表格
ALTER TABLE attachments MODIFY COLUMN `remarks` VARCHAR(255) DEFAULT 'something';
或者从PhpMyAdmin
答案 1 :(得分:1)
不要直接编辑表格。你有自己的模型。 生成新的迁移并将您的字段设置为可为空:
$table->string('name', 50)->nullable();
然后php artisan migrate