现在,当我向人员表中添加一个人时,我希望数据库自动创建一个位于人员电子邮件位置的行(我只是添加给人员)。
我尝试做白色PRIMARY KEY,以及FOREIGN KEY但没有succses。
谢谢大家。
这是我尝试的:
CREATE TABLE Persons
(
Email char(50) PRIMARY KEY,
First_Name char(50))
CREATE TABLE location
(
email char(50),
FOREIGN KEY (email) REFERENCES Persons(email)
)
但是当我添加到人员时,它也没有添加到位置。
答案 0 :(得分:3)
您需要触发器来执行此操作而不是外键。
FK只强制在location
中没有相应记录的情况下无法插入行Persons
但是email
对于主键和不稳定来说是一个非常广泛的选择(参见is email address a bad primary key),整个设计看起来很奇怪。
location
表是什么?这与Persons
有1:多的关系吗?其他栏目在哪里?什么是location
的PK?