问题标签 [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 投票
3 回答
1562 浏览

sql - 更改具有外键的表(sql server)中的记录?

有谁知道是否有更快的方法来编辑表中具有外键的记录(在 sql server 中).. 我会解释.. 我有大约 5 个表,它们有自己的 ID,但使用外键链接在一起...

因此我需要更改外键(在我的情况下是合同号),但我必须将每条记录复制到新记录并以这种方式进行编辑......

好像我尝试编辑合同号一样,它给了我关联的标准错误并违反了外键等

肯定有更好的方法吗?

有任何想法吗?

0 投票
1 回答
1922 浏览

asp.net - 使用实体框架在 GridView 中按外键值排序?

当使用 GridView 的内置排序与实体框架时,我可以显示外键值。例如...

...但是当单击标题以对网格中的项目进行排序时,如何按 Category.Name 对列表列表进行排序?

我只有字符串“Category.Name”,所以我不能这样做:

所以我尝试了反射......

...这是行不通的。没有抛出异常,但不按 Category.Name 排序。

有任何想法吗?

0 投票
2 回答
1942 浏览

sql-server - 在表 't_name' 上引入 FOREIGN KEY 约束 'c_name' 可能会导致循环或多个级联路径

我有一个名为Lesson
列: [LessonID, LessonNumber, Description] ...加上其他一些列的数据库表

我有另一个表名为Lesson_ScoreBasedSelection
列: [LessonID,NextLessonID_1,NextLessonID_2,NextLessonID_3]

完成一堂课后,将在表中查找其 LessonIDLesson_ScoreBasedSelection以获得三个可能的下一课,每节课都与特定范围的分数相关联。如果分数是 0-33,将使用存储在 NextLessonID_1 中的 LessonID。如果分数是 34-66,将使用存储在 NextLessonID_2 中的 LessonID,依此类推。

我想Lesson_ScoreBasedSelection用引用课程表中的 LessonID 列的外键来约束表中的所有列,因为表中的每个值都Lesson_ScoreBasedSelection必须在课程表的 LessonID 列中有一个条目。我还希望打开级联更新,以便如果课程表中的课程 ID 发生更改,则表中对它的所有引用Lesson_ScoreBasedSelection都会更新。

这个特定的级联更新似乎是一个非常简单的单向更新,但是当我尝试将外键约束应用于Lesson_ScoreBasedSelection引用课程表中的 LessonID 字段的表中的每个字段时,我收到错误:

在表“”上引入 FOREIGN KEY 约束“c_name”Lesson_ScoreBasedSelection可能会导致循环或多个级联路径。

谁能解释我为什么会收到此错误或如何实现我描述的约束和级联更新?

0 投票
8 回答
179643 浏览

mysql - 如何找到所有具有引用特定 table.column 的外键并具有这些外键值的表?

我有一个表,其主键在其他几个表中作为外键引用。例如:

现在,我不知道数据库中有多少表包含 X 的外键,例如表 Y 和 Z。是否有一个 SQL 查询可以用来返回:

  1. 在 X 中具有外键的表的列表
  2. 以及哪些表实际上在外键中有值
0 投票
7 回答
49684 浏览

mysql - MySql 错误 150 - 外键

当我执行以下两个查询时(我已将它们剥离为绝对必要的):

我收到以下错误:ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)

我的错误在哪里?我盯着这个看了半个小时都没找到他。

0 投票
2 回答
5252 浏览

.net-3.5 - 如何使用 LINQ to Entities 更新对象的外键值?

假设我有这些表:

在这些情况下,如何更新水果的名称及其在数据库中的状态?:

  1. 更新来自先前 L2E 调用的一块水果
  2. 给定一个对应于 FruitID 的整数(也就是说,我手头没有完整的 Fruit 对象开始)

VB或C#都可以,谢谢!

0 投票
7 回答
18351 浏览

sql - MySQL更改外键类型

我正在使用 MySQL,并且我有一个带有索引的表,该索引在许多其他表中用作外键。我想更改索引的数据类型(从有符号整数到无符号整数),最好的方法是什么?

我尝试更改索引字段上的数据类型,但失败了,因为它被用作其他表的外键。我尝试更改其中一个外键的数据类型,但失败了,因为它与索引的数据类型不匹配。

我想我可以手动删除所有外键约束,更改数据类型并重新添加约束,但这将是很多工作,因为我有很多表使用这个索引作为外键。有没有办法在进行更改时暂时关闭外键约束?另外,有没有办法获取引用索引作为外键的所有字段的列表?

更新: 我在关闭外键检查后尝试修改一个外键,但似乎并没有关闭检查:

这是错误:

索引表的定义:

以及具有指向它的外键的表:

0 投票
3 回答
20210 浏览

sql-server-2000 - 查询以获取 SQL Server 2000 中的所有外键约束

我需要查询 SQL Server 2000 以获取所有外键的列表。

特别是指向特定列的所有外键。

如何编写此查询?

0 投票
1 回答
1761 浏览

vb.net - DataGridView 和 DataSource:有什么方法可以轻松地显示由外键链接的字段?

我在 VB.NET 中有一个三层 Windows Forms DB 应用程序。我正在使用 VS 2005。

我想在 DataGridView 的表中显示记录。通过将 DataSource 绑定到与 DB 类对话的业务类,我已经可以按原样显示记录:

“资产”是我的业务类,“DB_Asset”是我的数据库类,它查询数据库以返回资产列表。

现在,Asset 有这样的成员:

m_ID_Asset 包含 DB 中 Asset 表的主键,m_XXXXXXXXXID 形式的所有其他内容包含 DB 中另一个表的外键。

所以基本上我现在得到的是有很多数字的行。这正是资产表中的内容:

我想知道的是是否有一种简单的方法来显示我用所有这些外键链接到的文本字段:

这里有经验的人有什么技巧吗?

提前致谢!

0 投票
11 回答
375746 浏览

mysql - MySQL删除一些外键

我有一个表,它的主键用于其他几个表,并且有几个外键到其他表。

问题是,当我尝试删除其中一个外键列(即 locationIDX)时,它会给我一个错误。

“错误 1025 (HY000):重命名错误”

如何在不出现此错误的情况下删除上面分配表中的列?