數據庫主鍵,外鍵,關系,級聯保存、更新、刪除
2024-07-21 02:11:51
供稿:網友
--建立數據庫
create database test;
go
--建立表customers
create table customers(
id int identity(1,1) not null,
name varchar(15),
age int,
primary key(id)
);
go
--建立表orders
create table orders(
id int identity(1,1) not null,
order_number varchar(15),
price money,
customer_id int,
primary key(id)
);
go
--對表orders插入數據,以檢測money數據類型,結果為:69.0000
insert into orders(price) values(69);
select * from orders;
--增加外鍵與關系約束
alter table orders add constraint fk_customer foreign key (customer_id) references customers(id);
go
--級聯刪除、更新
alter table orders add constraint fk_customer foreign key (customer_id) references customers(id)
on delete cascade on update cascade;
go
--級聯刪除
alter table orders add constraint fk_customer foreign key (customer_id) references customers(id)
on delete cascade;
go
=====================================================================================================
--
insert into customers values('張三',25);
insert into customers values('李四',25);
--如果設置了級聯插入,那么在向子表orders插入的customer_id(外鍵)
--必須在父表customers中存在此id(主鍵)
insert into orders values(1,50,5);
--如果設置了級聯刪除,刪除父表customers中id=5的記錄,
--也會刪除子表orders中customer_id=5的記錄,
delete from customers where id=5
--查詢
select * from customers;
select * from orders;