首页 > 代码库 > SQL Server外键约束
SQL Server外键约束
SQL Server中主外键的定义:
1.
create table dept(dept_no int primary key,dept_name nvarchar(50) not null)insert into dept values(10,‘IT‘),(20,‘Finance‘),(30,‘Engneer‘)<style></style>
create table employee ( employee_id int primary key, employee_name nvarchar(50) not null, dept_no int foreign key references dept(dept_no) )
上面的写法,是列级定义,直接定义列字段的时候定义foreign key<style></style>
2.
create table dept(dept_no int primary key,dept_name nvarchar(50) not nullprmary key (dept_no))insert into dept values(10,‘IT‘),(20,‘Finance‘),(30,‘Engneer‘)<style></style>
create table employee(employee_id int primary key,employee_name nvarchar(50) not null,dept_no int,constraint dept_no_fk foreign key(dept_no) references dept(dept_no))
这是表级的定义<style></style><style></style>
3.已经创建了没有定义主外键的表,可以使用alter table修改
alter table employee add foreign key (dept_no) references dept(dept_no)alter table employeeadd constraint dept_no_fk foreign key (dept_no)references dept(dept_no)<style></style>
添加主键
alter table deptadd constraint dept_no_pk primary key(dept_no)<style></style>
4.去除主键
alter table dept drop constraint dept_no_pk<style></style>
去除外键
alter table employee drop constraint dept_no_fk<style></style>
建了删,删了建的,手疼原本打算把MySQL的语句也写上的,原因是昨晚看了关于MySQL的视频,关于check不起作用,而且自己外键约束也模糊,不知道怎么写,原来是两种写法,这也是看MySQL视频看到的。只好改天再写MySQL的了
<style></style><style></style><style></style>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。