Laravel迁移上的外键导致一般错误1215
我正在尝试使用Laravels迁移创建多个带有外键的表。我有一个这样的问题迁移表Laravel迁移上的外键导致一般错误1215,laravel,laravel-artisan,artisan-migrate,Laravel,Laravel Artisan,Artisan Migrate,我正在尝试使用Laravels迁移创建多个带有外键的表。我有一个这样的问题迁移表 Schema::create('problems', function($table) { $table->increments('id'); $table->integer('created_by')->unsigned(); $table->foreign('created_by')->refe
Schema::create('problems', function($table)
{
$table->increments('id');
$table->integer('created_by')->unsigned();
$table->foreign('created_by')->references('id')->on('users');
$table->integer('category')->unsigned();
$table->foreign('category')->references('id')->on('categories');
$table->timestamps();
});
类别迁移
Schema::create('categories', function($table)
{
$table->increments('id');
$table->string('category_name');
$table->timestamps();
});
我在用户迁移中的第一个外键工作正常,但只要它点击类别id的外键,就会给出一个
SQLSTATE HY000一般错误1215不可能的合同
d'index externe(SQL;alter表'problems'添加约束
问题\u类别\u外键(“类别”)引用
“类别”(“id”))
(我不能正确地阅读法语,也不知道为什么法语会给我带来错误。我无法找到改变它的方法,因为我不是法国人,也无法理解它)
我不明白为什么这对其中一个有效,而对另一个无效,因为它们本质上是一样的。我不得不在另一个迁移文件中添加外键,解决了这个问题 我不得不在另一个迁移文件中添加外键,解决了这个问题 我不得不在另一个迁移文件中添加外键,解决了这个问题 我不得不在另一个迁移文件中添加外键,解决了这个问题 您需要确保迁移文件的顺序正确。例如,在实际创建类别表本身之前,不能使用引用类别表上的
id
的外键创建问题表
对于法语错误问题,请看这个。您需要确保迁移文件的顺序正确。例如,在实际创建类别表本身之前,不能使用引用类别表上的
id
的外键创建问题表
对于法语错误问题,请看这个。您需要确保迁移文件的顺序正确。例如,在实际创建类别表本身之前,不能使用引用类别表上的
id
的外键创建问题表
对于法语错误问题,请看这个。您需要确保迁移文件的顺序正确。例如,在实际创建类别表本身之前,不能使用引用类别表上的
id
的外键创建问题表
对于法语错误问题,请看这个。您必须更改迁移顺序
|-database/
|--migrations/
|---2015_02_02_141725_create_problems_table.php
|---2015_03_01_234626_create_categories_table.php
应该是:
|-database/
|--migrations/
|---2015_01_01_234626_create_categories_table.php
|---2015_02_02_141725_create_problems_table.php
最后:
php artisan migrate
您必须更改迁移顺序
|-database/
|--migrations/
|---2015_02_02_141725_create_problems_table.php
|---2015_03_01_234626_create_categories_table.php
应该是:
|-database/
|--migrations/
|---2015_01_01_234626_create_categories_table.php
|---2015_02_02_141725_create_problems_table.php
最后:
php artisan migrate
您必须更改迁移顺序
|-database/
|--migrations/
|---2015_02_02_141725_create_problems_table.php
|---2015_03_01_234626_create_categories_table.php
应该是:
|-database/
|--migrations/
|---2015_01_01_234626_create_categories_table.php
|---2015_02_02_141725_create_problems_table.php
最后:
php artisan migrate
您必须更改迁移顺序
|-database/
|--migrations/
|---2015_02_02_141725_create_problems_table.php
|---2015_03_01_234626_create_categories_table.php
应该是:
|-database/
|--migrations/
|---2015_01_01_234626_create_categories_table.php
|---2015_02_02_141725_create_problems_table.php
最后:
php artisan migrate
几天前我也有同样的问题,问题如下: 使用时
$table->increments('id')
,它生成长度为10的无符号整数。和$table->integer('user_id')
生成长度为11的非无符号
整数
要解决此问题,您可以放弃未签名的
,将所有与其他字段相关的字段表设置为一个自动递增
字段,如下所示:
$table->integer('id', true); // true represents the auto increment type
当然,设置
$table->engine='InnoDB'代码>几天前我遇到了同样的问题,问题如下:
使用时$table->increments('id')
,它生成长度为10的无符号整数。和$table->integer('user_id')
生成长度为11的非无符号
整数
要解决此问题,您可以放弃未签名的
,将所有与其他字段相关的字段表设置为一个自动递增
字段,如下所示:
$table->integer('id', true); // true represents the auto increment type
当然,设置$table->engine='InnoDB'代码>几天前我遇到了同样的问题,问题如下:
使用时$table->increments('id')
,它生成长度为10的无符号整数。和$table->integer('user_id')
生成长度为11的非无符号
整数
要解决此问题,您可以放弃未签名的
,将所有与其他字段相关的字段表设置为一个自动递增
字段,如下所示:
$table->integer('id', true); // true represents the auto increment type
当然,设置$table->engine='InnoDB'代码>几天前我遇到了同样的问题,问题如下:
使用时$table->increments('id')
,它生成长度为10的无符号整数。和$table->integer('user_id')
生成长度为11的非无符号
整数
要解决此问题,您可以放弃未签名的
,将所有与其他字段相关的字段表设置为一个自动递增
字段,如下所示:
$table->integer('id', true); // true represents the auto increment type
当然,设置$table->engine='InnoDB'代码>