我创建了两个表如何在sql代码中删除它们之间的关系;
Course
表:
create table course
(
course_id int primary key identity (1,1),
course_name varchar(40)
);
Employee
表:
create table employee
(
emp_id int identity(1,1) primary key,
fname varchar(30),
course_id int
foreign key references course (course_id)
);
答案 0 :(得分:0)
如果是 SQL Server - 那么您可以使用以下语句找出FK约束的名称:
SELECT name
FROM sys.foreign_keys
WHERE parent_object_id = OBJECT_ID('employee')
AND referenced_object_id = OBJECT_ID('course')
一旦你有了这个FK约束名,就可以使用通常的
ALTER TABLE dbo.employee DROP CONSTRAINT (name of the FK constraint)
这将是系统生成的任意名称(类似于FK__employee__cours__7EB7AD3A
或类似名称) - 这就是我建议始终明确命名约束的原因 - 像这样:
create table employee
(
emp_id int identity(1,1) primary key,
fname varchar(30),
course_id int
constraint fk_employee_course
foreign key references course (course_id)
);
现在,您知道该FK约束的名称是什么 - 您命名为它fk_employee_course
。如果您收到有关FK约束违规的任何错误消息,这也是有益的 - 如果该名称直观且显而易见,那么您就会知道出了什么问题