问题标签 [foreign-key-relationship]

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 投票
2 回答
201 浏览

nhibernate - NHibernate Legacy 数据库映射不可能?

我希望有人可以帮助我映射遗留数据库。我在这里描述的问题一直困扰着其他人,但我无法在网络上找到真正好的解决方案。

免责声明:这是一个遗留数据库。我无法控制复合键。他们很烂,无论你告诉我他们很烂,都无法改变。我也无法添加代理键。请不要建议其中任何一个,因为它们不是选项。

我有 2 个表,都带有复合键。一个表中的一个键用作从另一个表中获取集合的键的一部分。简而言之,表之间的键不完全匹配。ClassB 在任何地方都使用,如果可能的话,我想避免为这个映射添加属性。

我想获取 ClassA 的实例并获取与 PolicyNumber 匹配的所有 ClassB 行。我试图让一对多的事情发生,但我意识到这在技术上可能是一个多对多,我只是将其视为一对多。

我尝试过使用关联类,但还不够远,无法查看它是否有效。我对这些更复杂的映射不熟悉,正在寻求建议。我对几乎任何想法都持开放态度。

谢谢,科里

0 投票
2 回答
6246 浏览

mysql - mysql export sql dump依字母顺序,导致导入时外键约束错误

我的数据库(MySQL)中有 10 个表。其中两个在下面给出

tbl_state

tbl_city

外键约束: tbl_city.state_code是对tbl_state.state_id的引用。

现在我的问题是

当我导出所有表并再次导入时,它给出了

foreign key constraint fails error.... 因为当我导出 mysql 转储时,会在按字母顺序排列的表中生成 sql 转储,并且tbl_city在数据库中位于tbl_state之前。

请建议我如何处理这种情况?

有什么方法可以让所有表都按外键引用的顺序排列?

0 投票
2 回答
3027 浏览

ruby-on-rails - 添加记录关系时出现“TypeError: can't convert Symbol into String”

我想对从用户到投注的投注系统关系建模。我想要一个带有两个主键的模型 Bet。

这是我的迁移:

型号:

当我在控制台中测试我的关系时,我得到了一个错误

问题:

  1. 如何正确定义这些表之间的关系?
  2. 是否有任何命名属性的约定(例如:user_1_id ...)?

感谢您的帮助。

0 投票
2 回答
66 浏览

sql - MySQL - 查找引用指定索引的条目

所以我有一个预订系统,其中有一个 'lesson_type' 表,其中 'lesson_type_id' 作为 PK。我在这里有一个约束,所以如果有针对该课程类型的预订,我无法删除该课程类型。

我希望能够确定 bookings 表(或任何其他表)中的任何条目是否引用了这个 course_type_id,以便我可以优雅地通知用户。即当他们尝试删除记录时不会引发 mysql 错误。

我会为此使用什么样的查询?

谢谢。

0 投票
2 回答
3558 浏览

ruby-on-rails - Rails 需要数据库级别的约束吗?

我有与以下帖子相同的问题。

所以我想知道,为什么 Rails 默认不支持生成外键?没有必要吗?还是我们应该手动完成?

0 投票
1 回答
1872 浏览

django - Django外键级联删除和“related_name”参数(错误?)

本主题中,我找到了一种在不必要时防止级联删除相关对象的好方法。

但是当我们使用带有“related_name”参数的 ForeignKey 字段时,这种方法似乎失败了。在我看来,“clear()”方法可以正常工作并保存“解除关联”对象的实例。但是,在删除时,django 使用了这个对象的另一个记忆副本,因为它仍然与我们试图删除的对象相关联 - 哇哦!...再见亲戚:)

数据库是在我之前构建的,而且方式有点奇怪,所以我无法在合理的时间内逃避这些“相关名称”。有人听说过解决这种麻烦的方法吗?

0 投票
2 回答
875 浏览

symfony1 - 原则 1.2:我如何防止将约束分配给一对多关系的双方?

有没有办法阻止 Doctrine 在一对一关系的双方分配约束?我尝试将定义从一侧移动到另一侧并使用拥有侧,但它仍然对两个表都施加了约束。当我只希望父表有一个约束时 - 即。父母可能没有关联的孩子。

例如,我本质上想要以下 sql 模式:

但是我得到这样的东西:

我可以手动删除约束或修改我的访问器以返回/设置集合中的单个实体(使用一对多),但似乎应该内置处理此问题的方法。

我也在使用 Symfony 1.4.4 (pear installtion ATM) - 如果它是 sfDoctrinePlugin 问题而不一定是 Doctrine 本身。

0 投票
1 回答
277 浏览

sql - 让外键在 MySQL 中工作的问题

我一直在尝试删除级联,但它似乎不起作用。我确定我遗漏了一些明显的东西,有人可以帮我找到吗?

我希望“articles”表上的删除会触发“article_section_lt”表中相应行的删除。

0 投票
2 回答
608 浏览

doctrine - 学说:如何从一个实体遍历到另一个“链接”实体?

我正在使用cross-joinDoctrine_RawSql 加载 3 个不同的表。这让我回到了以下对象:

上面的对象是一个many-to-many关系的结果UserSettingwhereUser_Setting作为一个引用表User_Setting还包含另一个名为value. 这显然包含了对应的值Setting

到目前为止一切都很好,但是返回对象的SettingsUser_Settings 属性绝不会相互关联(当然除了字段)。Usersetting_id

有没有直接从Settings属性遍历到对应User_Settings属性的直接方法?

这是相应的查询:

编辑:

1:这是相关的 YAML 标记

2. 这是目标代码(从 YAML 生成):

0 投票
1 回答
986 浏览

yaml - Symfony 1.4:在带有推进的装置中使用关系

我刚开始使用 PHP symfony 框架。目前我正在尝试在 YAML 中创建夹具文件,以便轻松地将数据插入到我的 MySQL 数据库中。

现在我的数据库有几个关系,我有表组织和位置。

现在我也在尝试在我的夹具文件中链接这些表,但对于我的生活,我无法弄清楚如何。由于 org_id 是自动递增的,我不能简单地使用

在定位夹具中。

我怎样才能解决这个问题?