問題タブ [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 です。

マイ テーブル (1 対多):

私は LinqToSQL を初めて使用し、実行に問題があります..

(編集) 私の問題は、CaseInfo または CaseInfos が Cases のメンバーとして利用できないことです。

同僚から、ADO.Net Entity Data Model を使用してデータ コンテキスト クラスを作成する可能性があると聞きましたが、まだ試していないので、時間を無駄にするか、別のルートに進むべきかを知りたいと思っていました。ヒント、リンク、ヘルプをいただければ幸いです。

0 投票する
5 に答える
6981 参照

ruby-on-rails - Foreign_key とリンク テーブルを使用した Rails モデル

異なる単語間の関係を構築する ruby​​ on rails プロジェクトのモデルを作成しようとしています。これは、2 つの単語間の「リンク」が同義語として使用できることを示す辞書と考えてください。私のDBは次のようになります。

リンク テーブルを使用して、2 つの単語間の関係を作成するにはどうすればよいですか。モデルを作成しようとしましたが、リンクテーブルを機能させる方法がわかりませんでした:

0 投票する
1 に答える
3836 参照

entity-framework - Entity Framework で「セカンダリ」キーを処理する方法

既存のスキーマに対して EF を使用して評価しています。問題は、外部キーがマスター テーブルの主キーではないテーブル間の関連付けを設定する方法がわからないことです。

例として、 aは次のように定義されたものfooをいくつも持つことができます(疑似コードを許してください):bars

foo_foobar関連付けを作成できるようにするために何が欠けているので、エンティティのBarsナビゲーション プロパティはありますか?Foo

0 投票する
4 に答える
2666 参照

sql - 外部キー関係をどのように追加しますか?

テーブル間の FK リレーションシップが実装されていない既存の SQL 2005 データベースを使用しています。データベース ダイアグラムを使用してリレーションシップを追加しようとしたところ、新しい FK に関連付けられているデータを編集または挿入しようとして、アプリケーションがすぐに爆発しました。

person_campaigns テーブルは、個人、キャンペーン、および処分が結び付けられている場所です。これらのエンティティ間に適切な FK 関係を追加するための適切な SQL 構文を教えてください。

編集

0 投票する
8 に答える
2646 参照

database - 外部キーとは正確には何ですか?

Ok。だから私はDBの主キーが何であるかを知っています。データベースにテーブルがある場合、主キーはテーブルの各行に固有の単一の値です。例えば:

したがって、外部キーが正確に何であるかを説明するには、適切で簡単な例が必要です。私はそれを理解していないので:)


編集: OK、それはかなり簡単です。私は問題を複雑にしすぎていたと思います。

最後の質問です。外部キーの唯一の制限は、参照しているテーブルの有効な主キー値であるということですか?

0 投票する
7 に答える
166389 参照

sql - 複数のテーブルにまたがる主キーを参照する外部キー?

データベースemployeesの下にemployees_ceとemployees_snの2つのテーブルが必要です。

どちらにも、それぞれ固有の主キー列があります。

控除と呼ばれる別のテーブルがあります。このテーブルの外部キー列は、employees_ceとemployees_snの主キーを参照します。これは可能ですか?

例えば

だからこれは可能ですか?

0 投票する
1 に答える
9635 参照

mysql - phpMyAdmin を使用して同じテーブルを指す外部キーを追加するにはどうすればよいですか?

別のテーブルを指す外部キーが既にある既存の InnoDB テーブルがあります。

しかし、プライマリ インデックスを指す外部キーを作成しようとすると、エラーが発生します (データ型を確認してください)。

テーブルは User_Id をプライマリとする User です。

User_Id の FK である外部キー Manager_ID が必要です。

INT の両方 長さ 10 の両方 Unsigned...

それでもデータチェックエラーが出る…?

0 投票する
5 に答える
4866 参照

ruby-on-rails - Rails における外部キーの問題

このエラーを追跡するのにしばらく時間がかかりましたが、最終的に理由がわかりました。Rails フレームワークを使用してカード ゲームをモデリングしています。現在、私のデータベースは(ほとんど)次のようになっています。

そして、Rails ActiveRecord card.rb と game.rb は現在、次のようになっています。


ゲームを実行しようとすると、複数のゲーム (1 つ以上) があると、エラーが発生します

アクションが失敗するたびに、cardid == id. これには、Rails がデータをデータベースに挿入する方法に何らかの問題があると思います。cardsgames オブジェクトがないので、card_id を id にプルしてデータベースに挿入しているだけだと思います。これは、cardgames の主キー制約に違反する、同じカードを使用する 2 つのゲームができるまで問題なく機能します。データベースに精通している私は、この問題に対する最初の解決策は、id を削除して cardid と gameid を主キーにすることで、Rails がこの関係の「実際の」定義に従うようにすることでした。移行が2つの主キーを持つことを処理できなかったように見えるため、機能しませんでした(Rails APIがそれをしても大丈夫だと言っているにもかかわらず..奇妙です)。これに対する別の解決策は、「id」を省略することです INSERT INTO ステートメントの列を変更し、データベースに自動インクリメントを処理させます。残念ながら、これを行う方法もわかりません。

それで、これに対する別の回避策はありますか?私が知らない気の利いたRailsのトリックはありますか? それとも、この種の構造は Rails では不可能ですか? 何が悪いのか、いくつかの修正方法を知っいるので、これは本当にイライラしますが、Rail フレームワークの制約により、それを行うことができません。

0 投票する
2 に答える
1054 参照

django - 外部キーselfでオブジェクトを取得する方法

それ自体への FK 参照を持つモデル カテゴリがあります。データをテンプレートに送信して、このように見せるにはどうすればよいですか

  • カテゴリー1
    • リスト項目
    • リスト項目
  • カテゴリー2
    • リスト項目
    • リスト項目
0 投票する
1 に答える
1891 参照

entity-framework - エンティティ フレームワークと外部キー

車の異なるプロパティを含む carcarmodeldefinitionテーブルと、同じ名前のテーブルへの外部キーである の 2 つのテーブルがあります。cardefinitionテーブルには、さまざまな車とモデルが含まれています。それらをエンティティ フレームワークにマッピングしました。

画像

その中に新しい車を追加しようとすると、見つかった車を使用するだけでなく、新しい車を追加するcarmodeldefinitionだけです。cardefinitionそのためのコードは以下にあります。

は、 をデータベースにマップできるオブジェクトにcdDTO.Transform(cdDTO)変換します。正しいオブジェクトを正しい で返すのはdatatransferobject奇妙なことですが、それが挿入されると、新しい(pk である) と一緒に一番下に挿入されます。cdDTO.Transform(cdDTO);cardefintionIdcardefinitionid