Laravel中的'tax_id'列不能为NULL

时间:2019-03-17 19:36:28

标签: php laravel migration

我在一个表中有一个名为tax_id,的外键的项目中工作,问题是在某些时候创建了另一个迁移,以将tax_id更改为可空值。

Schema::table('products', function (Blueprint $table) {
    $table->unsignedInteger('tax_id')->nullable()->change();
});

在编写其他迁移并尝试运行它们之后,我意识到了这一点,它抛出了Column 'tax_id' cannot be NOT NULL,,似乎在“项目”中运行了迁移,所以我不能只是删除文件,怎么办运行我的迁移而没有错误?我试图删除外键,但没有任何效果。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用MySQL InnoDB,因为您没有指定数据库类型/引擎。

您可以尝试其他方法:

1)如果您赶时间,请禁用外键,进行更新,然后启用外键。然后,您应该纠正问题。

2)将set tax_id添加到''(其中tax_id为null),然后进行迁移

3)记录自己有关数据库引擎的信息并实施正确的解决方案

贾科莫