更改表错误MS SQL
我忘了在员工中设置部门作为外键,所以我这样做了更改表错误MS SQL,sql,sql-server,Sql,Sql Server,我忘了在员工中设置部门作为外键,所以我这样做了 CREATE TABLE EMPLOYEES( EmployeeNumber INT NOT NULL IDENTITY(1,1) LastName Char(35) NOT NULL, FirstName CHAR(35) NOT NULL, Department CHAR(35) NOT NULL, CONSTRAINT EMPLOYEE_PK PRIMARY KEY(EmployeeNumber)); CREATE TABLE DEP
CREATE TABLE EMPLOYEES(
EmployeeNumber INT NOT NULL IDENTITY(1,1)
LastName Char(35) NOT NULL,
FirstName CHAR(35) NOT NULL,
Department CHAR(35) NOT NULL,
CONSTRAINT EMPLOYEE_PK PRIMARY KEY(EmployeeNumber));
CREATE TABLE DEPARTMENT(
DepartmentName CHAR(35) NOT NULL,
Phone CHAR(35) NOT NULL,
BudgetCode CHAR(35) NOT NULL,
CONSTRAINT DEP_PK PRIMARY KEY(DepartmentName));
这让我看到:
ALTER TABLE语句与外键约束冲突
EMP_DEP_FK。数据库WPC表中发生冲突
dbo.DEPARTMENT,列“部门名称”
您的部门表中有一个输入错误==>DepartmentName
应该改为DepartmentName。这通常意味着子表中的某些数据不在父表中。您需要查找并修复它。一旦您修复了拼写错误和缺少逗号,SQL Server上的这一功能就可以正常运行。或者,我注意到您的表结构中DepartmentName的拼写不正确,因此它与FK中的不匹配。如果这在你的实际表格中是真的,那么就修正它。我个人也会小心使用部门名称之类的东西作为PK。一个大组织的两个不同部分的两个不同部门完全可能有相同的名称,因此无法保证唯一性。@Bopinko您需要给我们正确的代码。否则,我们无法帮助您发现错误和错误。
ALTER TABLE EMPLOYEES ADD CONSTRAINT EMP_DEP_FK
FOREIGN KEY(Department) REFERENCES DEPARTMENT(DepartmentName)