我试图执行此迁移:
用户:
Schema::create('comments', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('first_name');
$table->string('last_name');
$table->string('email')->unique();
$table->string('avatar_url');
$table->string('email_verified_at')->nullable();
$table->string('password')->unique();
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
});
文章:
Schema::create('articles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->text('title');
$table->longText('body');
$table->enum('state', ['draft', 'published']);
$table->bigInteger('user_id')->unsigned();
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')
->references('id')->on('users')
->onUpdate('cascade')->onDelete('cascade');
});
但当我迁移时,会出现以下错误:
SQLSTATE[HY000]:一般错误: 1005不能创建表blog_api
.#sql-2b70_7b
(Errcode: 150"外键约束是inc
orrecly形成的")(SQL:更改表文章
添加约束articles_user_id_foreign
外键(user_id
)引用用户
(id
)在更新级联上删除级联)
我已经尝试将大整数和大增量重命名为简单整数和增量,但没有成功。
应该有一个未分配的BigInteger,然后设置外键。
https://laravel.com/docs/5.8/migrations#foreign-关键制约因素请查看官方文件
此外
请注意迁移顺序。它从第一个文件开始到最新的文件,所以如果您试图为尚未创建的表设置外键,它会抛出一个错误。
例如
用户表与文章有外键关系,如下;
由于尚未创建项目表,您将无法分配。对于这样的情况,我建议您在创建表的所有基本结构之后使用“add_foreign_keys_to_articles”。
Schema::table('articles', function(Blueprint $table)
{
$table->foreign('user_id')
->references('id')->on('users')
->onUpdate('cascade')->onDelete('cascade');
});
我有一个帖子表和一个到达表,它引用了flight no(文本字符串格式)作为外键。然而,当我运行Laravel迁移时,我得到了可怕的错误: SQLSTATE[HY000]:常规错误: 1005不能创建表.(errno: 150"外键约束格式不正确")(SQL:改变表添加约束外键()引用() [PDOExc0019]SQLSTATE[HY000]:常规错误: 1005不能创建表.(errno: 15
我有一个订单表和一个有一个引用作为一个外来的。然而,当我运行Laravel迁移我得到可怕的错误代码: SQLSTATE[HY000]:常规错误: 1005不能创建表.(errno: 150"外键约束格式不正确")(SQL:改变表add约束外键()引用() SQLSTATE[HY000]:常规错误: 1005不能创建表.(errno: 150"外键约束格式不正确") 这是我的表模式: 这是我的sch
进行4次迁移,如下所示。这是用户表。 这就是艺术家的迁移。 这是歌曲迁移。 这就是专辑迁移。 这是一个连接众多艺术家和歌曲的特色。 当我尝试迁移这四个迁移时,会出现此错误。
迁移我的数据库时,会出现此错误。下面是我的代码,后面是我在尝试运行迁移时遇到的错误。 密码 错误消息 [Illumb\Database\QueryException] SQLSTATE[HY000]:一般错误:1005无法创建表(errno:150“外键约束格式不正确”)(sql:alter 表添加约束MEINS\u category\u id\u外键()参考()关于删除级联)
运行迁移命令时出现错误。 这是管理表模式 另一个是laravel安装附带的用户表。 我想为user_id创建一个外键,但它会出错
我正在尝试迁移我的Rails MySQL数据库,但遇到以下错误: ActiveRecord::StatementInvalid:mysql2::错误:无法创建表。(错误号:150“外键约束格式不正确”):创建表(int AUTO_INCREMENT主键,varchar(255),int,int,datetime不为空, 以下是我的迁移: 如果有人能在这里给我一个主意,我将非常感谢。我已经搜索了一段