問題タブ [compound-key]

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 に答える
597 参照

mysql-error-1062 - この複合主キーが期待どおりに機能しないのはなぜですか?

複合主キーを持つテーブル「tbl_project_user_assignment」があります。

project_idとuser_idで構成されています

これらはそれぞれ、プロジェクトテーブルとユーザーテーブルへの外部キーでもあります。

現在、このテーブルには次の2つのエントリがあります...

このSQLクエリを実行すると...

INSERT INTO tbl_project_user_assignment(project_id、user_id)VALUES(2、1);

...次のエラーメッセージが表示されます。

整合性制約違反:1062キー「FK_project_user」のエントリ「1」が重複しています

FK_project_userキーは、project_idをtbl_projectidにリンクするキーです。

私が挿入している値は一意であるため、これは私には意味がありません...

何か案は?

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

joomla - Joomla 1.5でJTable行を保存する際のカスタムWHERE

JTable を使用してレコードをテーブルに格納しています。私のテーブルには 3 つの主キー (pid、eid、sid) があります。コードのレコードを保存 (挿入、更新) したい:

ロード関数は次の警告を出して実行されます:

そして store 関数はエラーを発生させます:

ですが、ストアは SQL ステートメントでエラーを発生させます。SQL ステートメントには、フィールド名と新しい値、および「WHERE」キーワードが含まれていますが、条件はありません。

助けはありますか?

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

entity-framework - Entity Framework複合キー(ペイロードとの多対多の関係)

私はこのようなデータベーステーブルを持っています:

3つのデータベーステーブルの図:Person、Membership、およびTeam

人は多くのチームのメンバーである可能性があります。チームには多くのメンバーがいる場合があります。各人は、チーム内で役職(役職を考えてください)を持っている場合があります。

ADO.NET Entity Frameworkを使用してこれを設定しようとしましたが、エラーが発生します。

エラー3021:行から始まるフラグメントのマッピングに問題があります...テーブルMembershipの次の各列は、複数の概念的なサイドプロパティにマップされます:Membership.PersonIdは<MembershipPerson.Membership.PersonId、MembershipPerson.Person.Id>にマップされます

エラー3021:行から始まるフラグメントのマッピングの問題...テーブルMembershipの次の各列は、複数の概念的なサイドプロパティにマップされます:Membership.TeamIDは<MembershipTeam.Membership.TeamId、MembershipTeam.Team.Id>にマップされます

メンバーシップエンティティの主キーは、2つの外部キーの複合キーです。それが問題だと思います。

私は別の方法で何をしなければなりませんか?

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

hibernate - JPA/Hibernateでの複合キーを使用したテーブルの結合

さて、私たちのDBチームは次の構造を考え出しました。私はそれを変更することはできません:

報告する

  • PIDとして参照番号(REF_NR)があります
  • さらに、レポート、レポートの日付などに関するいくつかのデータ

財産

  • 複合PIDとして参照番号(REF_NR)と建物番号(BLG_NR)があります。レポートのREF_NRは、レポートのすべてのプロパティのREF_NRと一致します。これらのプロパティは、BLG_NRによってさらにインデックスが付けられます。
  • 加えて、ビルド、平方フィートなどに関するいくつかのデータ

建設データ

  • 参照番号(REF_NR)、建物番号(BLG_NR)、構造タイプコード(STRCT_TYP_CD)、および材料タイプコード(MTRL_TYP_CD)があります
  • は、一般に、指定された材料タイプである指定された構造タイプの%geを表す値を持ちます。たとえば、ROOFの50%はSLATEであり、ROOFの50%はTILEです。

これらを結合して、レポート、関連するすべての建物、および各建物のすべての建設データを取り込むようにしていますが、JPAと休止状態の注釈にはほとんど慣れていません。

それで、これらのものを一緒に結合するための適切なクラスと注釈を決定するのを手伝ってください。または、本当に良い例への良いリンクでさえも役立つでしょう。

私が言ったように、私はこれにかなり慣れていません、そしてこれはすべて私には正しいように見えます、しかし私は何かが欠けていると確信しています。
ありがとう!ピーター

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

mysql - django (python) の MySQL テーブルで冗長な主キー列を避けることはできますか?

DjangoのORMを使用する場合、すべてのテーブルに主キー列が必要であるという事実を認識しています。どういうわけか、テーブルにリンクする多対多のテーブルがある場合 (それらを著者と本と呼びましょう)、次のような結果が得られます。

列「id」を避け、代わりに複合主キーを作成することが提案されている本に遭遇しました。これはdjangoでうまくいきますか?

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

mysql - MySQLは、長さが制限された複合一意インデックスをどのように処理しますか?

MySQL(MyISAM)テーブルに2つの列があると仮定します。

両方の列に複合一意インデックスを作成したいと思います。(私の列のように)長すぎる列の長さ制限機能を知っていtitleます。複合インデックスとどのように連携しますか?

私が欲しいのは次のようなものです:

つまり、キーの長さは最大である必要があります(utf8をエンコードとして使用しているため、一意のインデックスでは1列あたり333文字に制限されています)。ここで、列の155文字すべてと列urlの178文字がtitle一意のインデックスで尊重されます。 。悪い英語でごめんなさい。私はできる限り説明しようとしました。混乱しそうな場合はご容赦ください。必要に応じて、喜んで詳細情報を提供します。

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

php - 配列内の複合キーのarray_key_exists

次のようなarray_key_existsで複合キーが存在するかどうかを確認するにはどうすればよいですか?

キー['ind1']['ind2']が$myarrに存在するかどうかを確認したいと思います。

私はこれをグーグルで検索し、いくつかの同様の答えを調べましたが、何も見つかりませんでした。

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

python - 複合外部キーを使用してモデルを作成するにはどうすればよいですか?

別のモデルへの複合外部キーを使用してモデルを作成する方法については、誰もが知っています。

例えば

ユーザー情報:ユーザー IDパスワード、キー、...

GeoInfo: id、userIdpassword、storeName、...

上記のサンプルモデル。2 つのフィールド ( userId、password )を使用して、GeoInfo を UserInfo にリンクします。

注: 2 つのモデルを 1 つの外部キーにリンクする方法を知っています。

任意のガイダンスをいただければ幸いです。

UPDATES1 私はこの投稿を見つけました-> Djangoまたは複合主キーの類似

残念ながら、GeoInfo に 2 つのフィールド ( UserInfo.userId、UserInfo.password )が存在するという要件 (クライアントの仕様) のため、私の場合、受け入れられた回答は適用できません。

UPDATES2 なので、django は複合外部キーをサポートしていないようです。回避策はありますか?

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

sql - 化合物 pk に関するクエリ

複合 pk を使用する場合、値の挿入は同じにできますか? 皆さんに例を示します。

テーブルの作成:

次に、これは私が挿入したい値です:

ご覧のとおり、挿入時に主キーの値が同じであることがわかります。私がそれをしたい理由は、同じテスト番号とテストペーパーが異なる日付に発生する可能性があるためです.

同じ値を追加したいが、主キーとしてラベルを付けたい場合はどうすればよいですか?

これは、標準的で正しい方法である必要があります。

明確にしていただきありがとうございます。