外键如何指向组合主键?

| 我有一个具有登录名和密码字段的表Login。两者都是主键。 而且我有一个桌子角色。哪个登录名可以包含许多字符。那么外键如何工作? 如何在“字符表”中创建外键进行登录? 我应该在Character表中创建2个字段作为外键来指向Login吗? 谢谢!     
已邀请:
在表创建或更改脚本中使用以下命令:
create table character (
  field1 varchar(30),
  ...,
  login varchar(12),
  password varchar(128),
  foreign key (login, password) references login (login, password)
)
现在,这说来,在登录表的主键中包含密码似乎很奇怪。我建议只在登录表上有一个主键,或者甚至有一个替代键(整数标识)。使用包括登录名和密码的方法,您将允许在同一登录名下进行多个注册。可能没问题,但是看来您实际上可能会遇到一个情况,即单个用户不小心创建了多个登录名。另外,这将使管理丢失的密码恢复更加困难。最后,每次密码更改(用户可以随时更改)时,都必须在每个引用字段中进行更新,这将使密码更改变得非常复杂。     

要回复问题请先登录注册