database - SQLExpress 创建两个表之间的关系

标签 database sql-server-express

我有 2 个表。

  1. dbo.部门
  2. dbo.员工记录

在员工记录中,我有一个字段 2 个重要字段。

  1. 员工 ID(设置为我的主键)
  2. 部门编号

在部门里,我只有3个字段

  1. 部门 ID(设置为我的主键)
  2. 姓名
  3. 地点

我希望用来自 dbo.Department 的数据填充部门 ID,因此唯一的选项是下拉列表。 (示例 100 部门 - 市场营销 - 1 楼,200 部门 - 人力资源 - 2 楼等。)为此,我尝试在 dbo.Department 中创建一个新的外键

首先,我右键单击 dbo.Department 中的键文件夹并选择“新建外键”

然后,我单击了在选择“特定于表和列”字段时出现的 3 个点,如下所示。

SQL Picture One

这会弹出一个对话框,我可以在其中设置主键表和外键表。我将主键表设置为 Employee Records,将外键表设置为 Department。在这两个字段下,我都选择了部门 ID,如下所示。 SQL Dialog box

当我点击确定时,我收到以下消息

'“员工记录”表中的列与主键或 UNIQUE 约束不匹配'

我是不是设置错了?我是数据库实践的新手,所以我不确定我是否使用了正确的技术来完成我想要实现的目标。

最佳答案

你很接近,但你的表颠倒了。在 Employees 表而不是 Departments 表上创建外键。本例中的主键表是 Departments 表。

关于database - SQLExpress 创建两个表之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231271/

相关文章:

php - 语法错误或访问冲突 : 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null,title varchar(191) not n

php - 使用php从mysql数据库中获取图像

sql - 在附加到 SQL Server 上的链接表时阻止 Access 使用错误的标识

visual-c++ - 连接到 MSSQL Server Express 并使用 Visual C++ Express 提取一些表数据的最少代码

backup - 如何使用 SQL Server Express 安排每日备份?

sql-server - 我的 (LocalDB)\v11.0 不是 "running"

sql - Web 用户搜索过多数据

php - 这个查询有什么问题?为什么本地结果不同?

mysql - Linq 与 MySql

entity-framework - 带有 SQL Server Express 迁移异常的 Entity Framework 4.3