Laravel 5.8 错误 SQLSTATE[HY000]: 一般错误: 1005 uuid
Posted
技术标签:
【中文标题】Laravel 5.8 错误 SQLSTATE[HY000]: 一般错误: 1005 uuid【英文标题】:Laravel 5.8 error SQLSTATE[HY000]: General error: 1005 uuid 【发布时间】:2020-05-26 20:46:52 【问题描述】:我正在使用 Laravel 5.8 和包 "goldspecdigital/laravel-eloquent-uuid",因为我需要使用 UUID4,这是我的迁移文件:
public function up()
Schema::create('images', function (Blueprint $table)
$table->bigIncrements('id');
// $table->timestamps();
$table->string('path');
$table->uuid('visit_id');
$table->foreign('visit_id')->references('id')->on('visits');
);
我收到以下错误:
SQLSTATE[HY000]: 一般错误: 1005 Can't create table
doctors _pharmacy
.images
(errno: 150 "外键约束格式不正确") (SQL: alter tableimages
add constraintimages_visit_id_foreign
外键 (visit_id
) 引用visits
(id
))
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:如下更新schema
的visits
和images
。
然后运行php artisan migrate
cmd。
visits
表架构
public function up()
Schema::create('visits', function (Blueprint $table)
$table->uuid('id')->primary();
// your column will be here
......
......
$table->timestamps();
);
images
表架构
public function up()
Schema::create('images', function (Blueprint $table)
$table->bigIncrements('id');
$table->string('path');
$table->uuid('visit_id');
$table->foreign('visit_id')->references('id')->on('visits');
);
【讨论】:
以上是关于Laravel 5.8 错误 SQLSTATE[HY000]: 一般错误: 1005 uuid的主要内容,如果未能解决你的问题,请参考以下文章
SQLSTATE[HY000]:一般错误:1215 无法添加外键约束 Laravel 5.8
Laravel 5.8:SQLSTATE [42S22]:找不到列:1054 未知列
PHP SQLSTATE[HY000] [1045] 用户 Laravel 访问被拒绝
SQLSTATE [23502]:非空违规:7 错误 - laravel