在mysql中复制外键

时间:2014-12-24 07:26:37

标签: mysql database foreign-keys

我有一张如下表格:

  • a( 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,如何更改数据库以强制执行此操作?

3 个答案:

答案 0 :(得分:2)

您可以在b.id和c.id

上创建唯一索引
ALTER TABLE `a` 
ADD UNIQUE INDEX `unique_b_c` (`b.id`, `c.id`);

答案 1 :(得分:1)

试试这个:

ALTER TABLE `a` ADD UNIQUE `unique_index`(`b.id`, `c.id`);

因此,在这种组合中,您的值将始终是唯一的,其他值将不会插入。

答案 2 :(得分:0)

尝试类似:

ALTER TABLE a 添加独特的索引myindexb.idc.id);

相关问题