在数据表之间增加参照完整性的命令如下所示 alter table <子表> add [CONSTRAINT <外键名>] FOREIGN KEY <字段名> REFERENCES <主表> <主键列> on delete restrict|cascade|set null on update delete restrict|cascade|set null 在设置参照完整性后, 当主表中没有相关数据时,子表中无法插入对应的记录。 如果delete设置为cascade, 在删除主表数据的时候,子表的数据将同时被删除; 如果delete设置为restrit, 子表中存在数据时,主表的数据将无法删除 如果delete设置为set null, 在删除主表数据的时候,子表的数据被设置为null值 (该列可以设置为null值的情况下) 如果update设置为cascade, 在修改主表的关键字段的值的时候,子表中相关数据的字段的值将同时被修改; 如果update被设置为restrit, 子表中存在数据时,主表的相关数据的关键字段的值将无法修改 如果update设置为set null, 在修改主表的关键字段的值的时候,子表中相关数据的字段的值将被设置为null (该列可以设置为null值的情况下) 本关任务 在借阅表和图书表设置参照完整性 当借阅表有某个条形码的记录,就不能删除图书表中相关的图书,也不能修改图书表中相关图书的条形码。
时间: 2024-02-20 09:00:21 浏览: 106
您可以使用以下命令在借阅表(borrow)和图书表(book)之间设置参照完整性:
```
ALTER TABLE borrow ADD CONSTRAINT borrow_book_fk
FOREIGN KEY (txm) REFERENCES book (txm)
ON DELETE RESTRICT ON UPDATE RESTRICT;
```
这将会在borrow表上添加一个名为borrow_book_fk的外键,它将确保txm列的值只能来自于book表中的txm列,并且当borrow表中存在某个txm值时,book表中的对应行不能被删除或修改。
请注意,添加参照完整性可能会影响到您的应用程序或其他查询,因此在执行此操作之前请确保备份好您的数据表。
相关问题
alter table 表名 add constraint 外键名 foreign key(外键字段) references 关联表名 (关联字段);
这是一条 SQL 语句,用于在一个表中添加外键约束。其中,关键字 "alter table" 表示修改表结构,"表名" 指的是要添加外键约束的表的名称,"add constraint" 表示添加一个约束,"外键名" 是你给这个外键约束命名的名称,"foreign key" 表示这是一个外键约束,"外键字段" 是要设置为外键的字段名称,"references" 表示要关联的表,"关联表名" 是要关联的表的名称,"关联字段" 是要关联的表中的字段名称。通过这条语句,你可以在一个表中添加一个外键约束,用于保证数据的完整性和一致性。
为inventory表添加外键:Cid,Pid,分别引用company表中Cid和product表中Pid。 A ALTER TABLE inventory ADD CONSTRAINT fk1 PRIMARY KEY(Cid) REFERENCES company(Cid), ADD CONSTRAINT fk2 PRIMARY KEY(Pid) REFERENCES product(Pid); B ALTER TABLE inventory ADD CONSTRAINT fk1 FOREIGN KEY(Cid) REFERENCES company(Cid), ADD CONSTRAINT fk2 FOREIGN KEY(Pid) REFERENCES product(Pid); C ALTER TABLE inventory ADD CONSTRAINT fk1 FOREIGN KEY(Pid) REFERENCES company(Pid), ADD CONSTRAINT fk2 FOREIGN KEY(Cid) REFERENCES product(Cid); D ALTER TABLE inventory ADD CONSTRAINT fk1 PRIMARY KEY(Pid) REFERENCES company(Pid), ADD CONSTRAINT fk2 PRIMARY KEY(Cid) REFERENCES product(Cid);
B ALTER TABLE inventory ADD CONSTRAINT fk1 FOREIGN KEY(Cid) REFERENCES company(Cid), ADD CONSTRAINT fk2 FOREIGN KEY(Pid) REFERENCES product(Pid); 是正确的做法,因为外键应该是对应着被引用表的主键,而不是外键自己作为主键。在这个情况下,Cid和Pid应该分别对应着company表和product表的主键。因此,应该使用B选项。
阅读全文