我有2张桌子。
login (login_id primary key
Email varchar(254) not null
Password varchar(20) not null)
和
registration(
id PK
Email
password
name
... etc
)
我试图将登录电子邮件设置为外键并注册(电子邮件)作为参考。 但我无法做到这一点 ALTER TABLE登录ADD FOREIGN KEY(电子邮件)REFERENCES registraion(email);
我将它用于项目,以便在以用户身份登录时与登录和注册电子邮件匹配。 有人可以帮助
答案 0 :(得分:1)
2个表中的列定义必须匹配要创建的FK。
registration( id PK, Email VARCHAR(254) NOT NULL, password name
两个表中列的数据类型和长度必须匹配。
答案 1 :(得分:0)
外键可以通过引用另一个表上的主键或唯一键来创建,但具有某些限制,例如列类型和大小。两列的类型和大小必须匹配。
有关事实的更详细讨论,您可以参考此SO帖子mysql-non-primary-foreign-key和此MySql参考手册create-table-foreign-keys