Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改表错误MS SQL_Sql_Sql Server - Fatal编程技术网

更改表错误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)