我有一个银行帐户表。在那里,我有一列“ 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进行尝试,然后它们成功了。
答案 0 :(得分:3)
您不能拥有“未签名”的varchar。
您有
user_name varchar(191) unsigned not null
将其更改为
user_name varchar(191) not null