问题标签 [foreign-keys]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
16431 浏览

linq - 没有显式外键关系的 Linq To SQL

我正在处理一些具有关系的旧表,但这些关系尚未明确设置为主键/外键。我使用“Linq To Sql Classes”创建了一个 .dbml 文件并建立了正确的 Case.CaseID = CaseInfo.CaseID 关联。我的结果类是 CasesDataContext。

我的表(一对多):

我是 LinqToSQL 的新手,做起来有困难..

(编辑)我的问题是 CaseInfo 或 CaseInfos 不能作为 Cases 的成员使用。

我从一位同事那里听说我可能会尝试使用 ADO.Net 实体数据模型来创建我的数据上下文类,但还没有尝试过,想看看我是否会浪费我的时间,或者我应该走另一条路。任何提示、链接、帮助将不胜感激。

0 投票
5 回答
6981 浏览

ruby-on-rails - 带有外键和链接表的 Rails 模型

我正在尝试为 ruby​​ on rails 项目创建一个模型,该模型在不同单词之间建立关系。把它想象成一本字典,其中两个词之间的“链接”表明它们可以同义使用。我的数据库看起来像这样:

如何使用链接表在两个单词之间建立关系。我试图创建模型,但不确定如何让链接表发挥作用:

0 投票
1 回答
3836 浏览

entity-framework - 如何处理实体框架中的“辅助”键

我正在针对现有模式使用 EF 进行评估 - 问题是我无法弄清楚如何在外键不是主表的主键的表之间建立关联。

例如, afoo可能有很多bars像这样定义的(请原谅伪代码):

我缺少什么能够创建foo_foobar关联,从而在实体上创建Bars导航属性?Foo

0 投票
4 回答
2666 浏览

sql - 如何添加外键关系?

我正在使用未使用表之间的 FK 关系实现的现有 SQL 2005 数据库。我尝试添加与数据库图的关系,但我的应用程序在尝试编辑或插入与新 FK 相关的任何数据时立即崩溃。

person_campaigns 表是将人员、活动和处置联系在一起的地方。您能否提供适当的 SQL 语法以在这些实体之间添加正确的 FK 关系?

编辑

0 投票
8 回答
2646 浏览

database - 究竟什么是外键?

行。所以我知道数据库中的主键是什么。如果您在数据库中有一个表,则主键是表中每一行唯一的单个值。例如:

所以我需要一个好的、简单的例子来解释外键到底是什么。因为我就是不明白:)


编辑:好的,这很容易,我想我把问题复杂化了。

所以最后一个问题,外键的唯一限制是它们是我所指的表中的有效主键值吗?

0 投票
7 回答
166389 浏览

sql - 外键是指跨多个表的主键?

我有两个表,即employees_ce 和employees_sn 数据库employees 下。

它们都有各自唯一的主键列。

我有另一个名为 deductions 的表,我想引用employees_ce 和employees_sn 的主键的外键列。这可能吗?

例如

那么这可能吗?

0 投票
1 回答
9635 浏览

mysql - 如何使用 phpMyAdmin 添加指向同一个表的外键?

我有一个现有的 InnoDB 表,它已经有指向不同表的外键。

但是当我尝试创建一个指向主索引的外键时,我得到一个错误(检查数据类型)。

该表是以 User_Id 作为主表的用户。

我想要一个外键 Manager_ID,它是 User_Id 的 FK。

两个 INT 两个 长度 10 无符号...

但我仍然收到数据检查错误...?

0 投票
5 回答
4866 浏览

ruby-on-rails - Rails 中的外键问题

我花了一段时间才找到这个错误,但我终于找到了原因。我正在使用 Rails 框架对纸牌游戏进行建模。目前我的数据库看起来(大部分)是这样的:

Rails ActiveRecord card.rb 和 game.rb 目前看起来像这样


当我尝试运行一个游戏并且有多个游戏(超过 1 个)时,我收到错误

每次操作失败时,cardid == id。我认为这与 Rails 如何将数据插入数据库有关。由于没有 cardgames 对象,我认为它只是将 card_id 拉入 id 并将其插入数据库。这工作正常,直到您有两个游戏使用同一张卡片,这违反了卡片游戏的主键约束。由于对数据库非常熟悉,我对这个问题的第一个解决方案是尝试通过删除 id 并将 cardid 和 gameid 作为主键来强制 rails 遵循这种关系的“真实”定义。它不起作用,因为迁移似乎无法处理具有两个主键的问题(尽管 Rails API 说可以这样做......很奇怪)。另一个解决方案是省略“id” INSERT INTO 语句中的列,并让数据库处理自动增量。不幸的是,我也不知道该怎么做。

那么,是否有另一种解决方法呢?有一些我不知道的漂亮的 Rails 技巧吗?或者这种结构在 Rails 中是不可能的?这真的很令人沮丧,因为我知道出了什么问题,而且我知道有几种方法可以修复它,但是由于 Rail 框架的限制,我无法做到。

0 投票
2 回答
1054 浏览

django - 如何使用外键 self 检索对象

我有一个模型类别,它本身有一个 FK 引用。如何将数据发送到模板并使其看起来像这样

  • 第一类
    • 项目清单
    • 项目清单
  • 第 2 类
    • 项目清单
    • 项目清单
0 投票
1 回答
1891 浏览

entity-framework - 实体框架和外键

我有两个表,一个包含汽车不同属性的汽车表,另一个carmodeldefinition是同名表的外键。该cardefinition表包含不同的汽车和型号。我已将它们映射到实体框架中。

图片

当我尝试在其中添加一辆新车carmodeldefinition时,只需添加一辆新车cardefinition,而不仅仅是使用它找到的那辆。它的代码可以在下面找到:

cdDTO.Transform(cdDTO)转换为datatransferobject可以映射到数据库的对象。奇怪的是它cdDTO.Transform(cdDTO);返回正确的对象和正确的对象cardefintionId,但是当它被插入时,它只是用一个新的cardefinitionid(即pk)插入底部。