gpt4 book ai didi

mysql - 拉维尔 : how to import a sql file through phpmyadmin after you created a schema without throwing a constraint exception?

转载 作者:行者123 更新时间:2023-11-29 00:00:57 24 4
gpt4 key购买 nike

您好,我有以下架构代码:

public function up()
{
Schema::create('states', function(Blueprint $table)
{
$table->increments('id');
$table->string('acronym');
$table->string('name');
});

Schema::create('cities', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->integer('state_id')->unsigned();
$table->foreign('state_id')->references('id')->on('states');
});

Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->string('fullname');
$table->string('photo');
$table->text('description');
$table->string('email')->unique();
$table->string('password', 60);
$table->integer('city_id')->unsigned();
$table->foreign('city_id')->references('id')->on('cities');
$table->rememberToken();
});
}

public function down()
{
Schema::drop('states');
Schema::drop('cities');
Schema::drop('users');
}

迁移工作正常,现在我想通过 phpmyadmin 导入一个 sql 文件,但是我收到以下错误:
1452 - 无法添加或更新子行:外键约束失败(yearbookcities,CONSTRAINT cities_state_id_foreign FOREIGN KEY(state_id ) 引用 states (id))
在进行迁移之前它运行良好,所以我想知道是否有一种方法可以在不删除外键的情况下导入文件。

提前致谢。

最佳答案

您的迁移没有问题,问题出在您的数据上。

由于您添加了外键约束,因此在导入城市之前必须存在具有此 ID 的州。

现在您有状态 ID 自动递增,因此您需要覆盖它或绝对确保它从插入订单中获得正确的 ID。

关于mysql - 拉维尔 : how to import a sql file through phpmyadmin after you created a schema without throwing a constraint exception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882528/

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