当前位置: 首页 > 知识库问答 >
问题:

SQL将外键添加到现有列

东深
2023-03-14

如果我在 SQL Server 2008 中使用以下 SQL 命令来更新具有外键约束的表:

ALTER TABLE Employees
ADD FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id)

UserID员工表中我的FK列。我正在尝试引用我的ActiveDirec的表中的UserID。我收到这个错误:

外键“UserID”引用引用表“员工”中的无效列“UserID”。

共有3个答案

严烨
2023-03-14

MySQL / SQL Server / Oracle / MS访问:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

若要允许命名外键约束,并在多个列上定义外键约束,请使用以下SQL语法:

MySQL / SQL Server / Oracle / MS访问:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
许奇
2023-03-14

也许你把你的列倒过来了??

ALTER TABLE Employees
ADD FOREIGN KEY (UserID)           <-- this needs to be a column of the Employees table
REFERENCES ActiveDirectories(id)   <-- this needs to be a column of the ActiveDirectories table

有没有可能在< code>Employees表中将该列称为< code>ID,而在< code > activedirectory 表中将该列称为< code>UserID?

那么你的命令应该是:

ALTER TABLE Employees
ADD FOREIGN KEY (ID)                   <-- column in table "Employees"
REFERENCES ActiveDirectories(UserID)   <-- column in table "ActiveDirectories" 
尚安平
2023-03-14

错误表示您的员工表中没有UserID列。请先尝试添加该列,然后重新运行该语句。

ALTER TABLE Employees
ADD CONSTRAINT FK_ActiveDirectories_UserID FOREIGN KEY (UserID)
    REFERENCES ActiveDirectories(id);
 类似资料:
  • 我有一个名为的现有表。在这个表中,我有5列: persionId 人名 PMid 描述 Pamt 创建此表时,我将和设置为主键。 我现在想在主键中再包含一列——PMID。我如何编写一个语句来做到这一点?(表中已经有1000条记录了)

  • 若要添加一个外键,点击工具栏的 “外键”按钮,并由子表拖拉一个字段到父表的字段。若要显示或隐藏链接的名标签,简单地在属性窗格中勾选或取消勾选“显示名”选项。 当你移动滑鼠到一个外键连接器时,父和子表的边界会分别变为绿色和蓝色。此外,父和子表的参考属性均会高亮显示。 在画布中外键对象的弹出式菜单选项包括: 选项 描述 设计关系 在表设计器中编辑外键。 基数在 表名1 设置基数在表名1:无、唯一、多个

  • 若要添加一个外键,点击工具栏的 “外键”按钮,并由子表拖拉一个字段到父表的字段。若要显示或隐藏链接的名标签,简单地在属性窗格中勾选或取消勾选“显示名”选项。 当你移动滑鼠到一个外键连接器时,父和子表的边界会分别变为绿色和蓝色。此外,父和子表的参考属性均会高亮显示。 在画布中外键对象的弹出式菜单选项包括: 选项 描述 设计关系 在表设计器中编辑外键。 基数在 表名1 设置基数在表名1:无、唯一、多个

  • 我在MySQL中遇到了一个错误,它不允许我输入外键数据。这是我的数据: 我遇到的问题有点奇怪,它与位置和行程表之间的关系有关。SQL将允许输入TripSchedule表的前三行插入值,但是其余的插入值给出错误:“错误代码:1452。无法添加或更新子行:外键约束失败(assessment.tripschedule,CONSTRAINT tripschedule_ibfk_1外键(StartLoc)引

  • 问题内容: 我试图将Integration Services添加到现有的SQL Server 2008实例中。 我去了SQL Server安装中心,然后单击“新安装或向现有安装添加功能”选项。此时,将弹出一个文件系统窗口。我被要求浏览以查找SQL Server 2008 R2安装介质。 我尝试使用 C:Program Files \ MicrosoftSQLServer, 但收到错误消息,该错误消

  • 若要添加一个外键,点击工具栏的 按钮,并由子表拖拉一个字段到父表的字段。若要显示或隐藏链接的名标签,简单地在属性窗格中勾选或取消勾选“显示名”选项。 当你移动滑鼠到一个外键连接器时,父和子表的边界会分别变为绿色和蓝色。此外,父和子表的参考字段均会高亮显示。 在画布中外键对象的弹出式菜单选项包括: 选项 描述 设计关系 在表设计器中编辑外键。设计器内的选项卡和选项是根据你所选择的图表数据库类型而有所