数据库主键,外键,关系,级联保存、更新、删除
2006-09-21 12:17
423 查看
--建立数据库
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;
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;
相关文章推荐
- 数据库主键,外键,关系,级联保存、更新、删除
- SQL中实现外键关键关系级联更新和删除
- 数据库主外键,级联的保存、更新和删除
- mysql如何设置主键和外键,实现级联更新、级联删除
- SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
- Mysql外键级联动作(删除和更新)
- mysql中外键约束级联更新与删除
- hibernate 具有主外键关系的多表级联保存
- SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
- 使用外键让两张表级联删除更新
- hibernate - 解决表结构外键限定为非空,级联保存和级联删除抛异常的问题
- MySQL入门(8)- 约束——主键约束&外键约束&级联更新/删除
- MYSQL_使用外键约束(constraint)或触发器(trigger)来进行级联更新、删除
- Mysql外键级联动作(删除和更新)
- 外键约束失效--级联更新删除
- SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
- mysql外键级联更新删除
- sql添加外键,并对其进行级联删除,更新
- mysql外键级联更新删除
- SQLite 外键 级联更新 删除