创建Laravel外键的SQL错误代码1064

时间:2019-03-25 19:11:24

标签: php sql laravel

我有一个银行帐户表。在那里,我有一列“ user_id”,它引用用户表中的ID。

现在,我想向该列添加一个外键,但是随后出现此错误。

  

>   SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行(SQL:创建表{{}中使用“ unsigned not null,created_at timestamp null,updated_at timestamp null)def”附近。 1}}(bankaccounts bigint无符号不为空auto_increment主键,id int无符号不为空,user_id varchar(191)不为空,accountnumber varchar(191)不为空,bank varchar(191)无符号不为空,user_name时间戳为空,created_at时间戳为空)默认字符集utf8mb4整理为“ utf8mb4_unicode_ci”)

我已经尝试了最小的更改。仅在user_id列上添加外键。

我有标准的Laravel用户迁移,这是银行帐户迁移。

updated_at

我不知道我在做什么错,因为我在网上看到了一些教程,这些教程也尝试使用users表中的id进行尝试,然后它们成功了。

1 个答案:

答案 0 :(得分:3)

您不能拥有“未签名”的varchar。

您有

user_name varchar(191) unsigned not null

将其更改为

user_name varchar(191) not null