MySQL,InnoDB:两列唯一约束,父表中有一列

时间:2015-03-09 13:31:33

标签: mysql key constraints composite

在子表中,我需要使用复合键强制执行唯一约束,其中两列中的一列位于父表中。

情况是,在我的应用程序中,用户可以拥有多个不同类型的帐户。其中一种类型表示来自外部源的帐户,该帐户具有自己的id(foreign_account_id),其他类型是内部的,并且只有account_id主键。现在,不同的用户可以从外部源连接到同一个帐户,但每个用户只能连接一次。所以我需要一个基于users_id和foreign_account_id的复合唯一键。 这是可能的还是有一个很好的解决方法(例如,重复子表中的users_id列是不错的做法)?

这是结构

帐户(父母)

id (primary)
users_id
description
....

accounts_foreign(孩子)

accounts_id (primary, fk for accounts)
foreign_account_id
info1
info2
...

0 个答案:

没有答案