违反完整性约束:1048可空字段中的列“ temporary_address”不能为空错误

时间:2019-03-10 15:56:38

标签: mysql laravel migration

我为迁移设置了字段的默认值,但是当我将表单字段{% for atomic in serializer.atomic.child_relation.queryset.all %} {{ atomic.name }} {% endfor %} 留为空白时,它仍然给出错误 problem field

laravel中的no值和null是否相同?或其他的东西。

  

我的php版本:7.2.15

     

我的mysql版本:Ver 14.14 Distrib 5.7.25

     

我的laravel版本:5.7.27

2 个答案:

答案 0 :(得分:3)

$client->temporary_address = $request->get('temporary_address');

请将其更改为

if(!empty($request->temporary_address)){
   $client->temporary_address = $request->get('temporary_address');
}

答案 1 :(得分:0)

我不知道您为什么决定在临时地址上使用nullable(),而另一个人已经在使用nullable

为什么会出错?

由于您的临时地址不接受空值,并且您将默认值设置为空字符串,因此在您的帖子中出现错误,解决方案将默认值更改为某个值,而不是空字符串,或者很容易将其设置为可空值最好的解决方案。

更改此代码

$table->string('temporary_address')->default("");

由于您已经在运行迁移以对其进行更新,因此需要像这样记录下来

$table->string('temporary_address')->nullable()->change();

因此,您可以将临时地址留空