问题描述
我有两个桌子, 列日记 id主键 叙述文本 和 掌握列 id主键 Diaryid int EventDate日期 位置int
我想确保master(Diaryid)始终是有效的日记(id)
我可以使用外键来实现吗?请记住,一个键是主键,另一个键是主键。
任何建议都会被接受。
解决方法
是的,您通过使用FOREIGN KEY
实现了这一目标。
还应将其定义为NOT NULL,以便仅允许使用昂贵的日记键
CREATE TABLE master(Diaryid BIGINT NOT NULL,FOREIGN KEY (Diaryid)
REFERENCES diary(id)
);
您可以添加
ON DELETE CASCADE
这样,当删除日记行时,主行也将被删除
,不知道有什么不同,但问题已解决。
创建表diary
(id为int AUTO_INCREMENT,叙述文字,主键(id
))
创建表master
(id
int AUTO_INCREMENT,Diaryid
int,datemade
日期,外键(Diaryid
)参考diary
({{1} }),主键(id))
所以现在添加日记记录,并且只要Diaryid有效,就可以有多个主记录
谢谢