我有类似下面的表格:在MySQL复制外键
- 一个(ID,b.id,c.id)
- B(ID)
- C(ID)
在表a上,我想要有b.id和c.id的外键字段。但是,只允许一次使用b和c外键的相同组合。例如,如果b.id = 1和c.id = 1(在表中有一个外键)就没有问题,但是不能有另一条记录,其中b.id = 1和c.id = 1等。
我正在使用MySQL,我该如何改变我的数据库来执行此操作?
我有类似下面的表格:在MySQL复制外键
在表a上,我想要有b.id和c.id的外键字段。但是,只允许一次使用b和c外键的相同组合。例如,如果b.id = 1和c.id = 1(在表中有一个外键)就没有问题,但是不能有另一条记录,其中b.id = 1和c.id = 1等。
我正在使用MySQL,我该如何改变我的数据库来执行此操作?
试试这个:
ALTER TABLE `a` ADD UNIQUE `unique_index`(`b.id`, `c.id`);
所以,在这个组合你的价值永远是独特的,其他值将不插。
正是我需要的。谢谢。 – ncf
我很高兴帮助别人。 –
你可以b.id创建唯一索引和c.id
ALTER TABLE `a`
ADD UNIQUE INDEX `unique_b_c` (`b.id`, `c.id`);
这就是我所需要的,Manoj只是更快一点。谢谢 – ncf
@NathanFrancy它没关系。你的答案很好。 –
试着这么做:
ALTER TABLE a
ADD UNIQUE INDEX myindex
(b.id
,c.id
);
组合为唯一键。 –
我已经给出了答案检查示例。它会满足您的要求。 –