gpt4 book ai didi

php - 如何在 Laravel 中将外键设置为可为空

转载 作者:行者123 更新时间:2023-12-01 19:06:22 32 4
gpt4 key购买 nike

我在日志表中设置了 user_id,现在遇到一个问题,有时需要将日志存储到未登录用户执行的操作。

当我运行此迁移时

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

我收到错误

[Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1832 Cannot change column 'user_id': used in a foreign key constraint 'users_log_user_id_foreign' (SQL: ALTER TABLE users_log CHANGE user_id user_id INT UNSIGNED DEFAULT NULL)

最佳答案

您需要先删除 FK 约束:

$table->dropForeign(['user_id']);

然后修改该列并添加新的 FK 约束。

此外,请确保您在单独的 Schema::table() 闭包中执行此操作。

https://laravel.com/docs/5.5/migrations#foreign-key-constraints

关于php - 如何在 Laravel 中将外键设置为可为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504907/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com