我对sql有这种问题:
表1:ID_1(主键)| NAME |姓氏|电子邮件...
表2:ID_2(主键)| NAME2 | LASTNAME2 |电子邮件...
通常使用约束,可以将其列为表2中的列
(例如NAME 2)作为NAME的外键。
一般关系是一对多的。这是表1的NAME列中的一个值,在表2的NAME2列中使用了很多次。
现在,我想要实现的是使规则一对一,因此我不能在表2的表1中有重复的NAME值。
创建表时是否需要触发器或可以通过约束设置它?
最佳答案
实现此步骤:
Create foreign key constraint
Create unique constraint
这可以在创建表时全部完成。
CREATE TABLE table2 (
...,
name2 varchar(255),
FOREIGN KEY (name2) REFERENCES table1(name),
UNIQUE (name2)
);
如果您已经有了该表,请改用
ALTER TABLE
。尝试插入表中已有的
name2
值的行时,将引发错误。关于mysql - 外键引用值仅使用一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35113371/