使用外键约束可以实现以下几点:
1. 防止删除父表中的记录
CREATE TABLE 表名( id INT PRIMARY KEY, ... ); CREATE TABLE 子表名称( id INT PRIMARY KEY, rid INT, ... CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id) );
这段代码中,使用 FOREIGN KEY 和 REFERENCES 关键字进行关联。在子表中使用外键约束来引用父表,当父表中的记录被删除时,将会阻止删除包含该记录的子表的行。
2. 防止插入无效的值
CREATE TABLE 表名( id INT PRIMARY KEY, ... ); CREATE TABLE 子表名称( id INT PRIMARY KEY, rid INT, ... CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id) );
这段代码中,使用 FOREIGN KEY 和 REFERENCES 关键字进行关联。在子表中使用外键约束来引用父表,当尝试向子表中插入一个不存在于父表中的值时,将会被拒绝。
3. 保证数据的完整性和一致性
CREATE TABLE 表名( id INT PRIMARY KEY, ... ); CREATE TABLE 子表名称( id INT PRIMARY KEY, rid INT, ... CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id) );
这段代码中,使用 FOREIGN KEY 和 REFERENCES 关键字进行关联。在子表中使用外键约束来引用父表,确保了子表中的 rid 列一定从父表的 id 列中获取。这种关联关系可以保证数据的完整性和一致性。