gpt4 book ai didi

php - 一般错误 : 1005 when creating a key constraint - Laravel

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

尝试在 Laravel 中添加外键约束时出现以下错误。

[PDOException]                                                                                
SQLSTATE[HY000]: General error: 1005 Can't create table 'ts.#sql-5769_62' (errno: 150)

我有 2 个表,usersteams。这种关系是团队可以有很多用户,用户可以有一个团队。

用户

$table->increments('id');
$table->integer('team_id');

$table->string('name', 255);
$table->string('username', 32)->unique();
$table->string('email', 320);
$table->string('password', 64);

$table->foreign('team_id')->references('id')->on('teams');


$table->timestamps();

团队

        $table->increments('id');

$table->string('team_name', 255);
$table->string('website', 255);

$table->timestamps();

我做错了什么?这也是我第一次使用迁移,所以欢迎任何指出愚蠢错误的帮助。

最佳答案

尝试为 team_id 指定 unsigned:

$table->integer('team_id')->unsigned();

你的主键$table->increments('id');是无符号整数,所以外键$table->integer('team_id'); 应该匹配它的类型。

引自Laravel docs :

Note: When creating a foreign key that references an incrementing integer, remember to always make the foreign key column unsigned.

更新

还要确保首先创建 team 表,这样模式构建器就不会尝试在不存在的表上创建外键。

关于php - 一般错误 : 1005 when creating a key constraint - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532430/

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