2つのテーブルの外部キーを作成するにはどうすればよいですか?

たとえば、本とCDを販売しているとしましょう。両方に同じテーブルを使用することはできないため、両方のデータベースにテーブルがあります。また、両方の在庫テーブルがあります。これは、外部キーを介して、対応するアイテムのテーブルを参照します。このような:

book                book_stock
-----               ----------
bookID              book_stockID
title               bookID
                    price

cd                  cd_stock
-----               ----------
cdID                cd_stockID
title               cdID
                    price

ただし、type列に応じて両方のアイテムのテーブルを参照する1つの一般的な在庫テーブルが必要です。

book                stock
-----               ----------
bookID              stockID
title               type
                    itemID
                    price
cd
-----
cdID 
title

では、複数のテーブルをチェックするような制約を作成するにはどうすればよいでしょうか。

VMAtm

残念ながら、foreighnキーは常に1つの親テーブルに基づいているため、このような制約を作成することはできません。

できることは、入力データのタイプに応じてテストするトリガーを作成し、不適切な変更をロールバックすることです。

このようなもの:

CREATE TRIGGER insert_stock_child
BEFORE INSERT
ON stock
FOR EACH ROW
BEGIN
  IF new.type = 'BOOK_TYPE' AND (SELECT COUNT(*) FROM book
    WHERE book.bookID = new.itemID)= 0
  THEN
    INSERT error_msg VALUES ('No such book!');
  END IF;
END;

-- same logic for the cd table

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Postgresで2つのテーブルの1つを指す外部キーを追加するにはどうすればよいですか?

分類Dev

外部キーと主キーの概念を使用して2つのテーブルを接続するにはどうすればよいですか?

分類Dev

Laravelの別のテーブルを参照する外部キー値を持つテーブルを追加するにはどうすればよいですか?

分類Dev

自動インクリメントによって作成された1つのテーブルから2番目のテーブルに外部キーとして主キーを挿入するにはどうすればよいですか?

分類Dev

ブリッジテーブルを作成するにはどうすればよいですか?2つの主キーと2つの外部キーを作成しますか?

分類Dev

テーブル作成時に外部キーを作成するにはどうすればよいですか

分類Dev

2つ以上のHBaseテーブルを作成するにはどうすればよいですか?

分類Dev

2つのテーブルテーブルB(id、type)またはテーブルC(id、type)のいずれかを参照する外部キー制約をテーブルA(id、type)に追加するにはどうすればよいですか?

分類Dev

2つのテーブルに外部キーを使用して経費を記録するにはどうすればよいですか?

分類Dev

テーブルへの外部キーを持つテーブルのリストを取得するにはどうすればよいですか?

分類Dev

UCanAccessを介して、他の1つのテーブルへの2つの外部キー参照を含むテーブルを作成するにはどうすればよいですか?

分類Dev

Androidでテーブルに画像と2つのテキストビューを作成するにはどうすればよいですか?

分類Dev

外部キー参照を使用してテーブルを作成するにはどうすればよいですか?

分類Dev

MySQLのテーブルに別の主キーを作成するにはどうすればよいですか?

分類Dev

2つの外部キーを持つモデルのスコープを作成するにはどうすればよいですか?

分類Dev

同じ関係の2つの外部キーを持つモデルの関連付けを作成するにはどうすればよいですか?

分類Dev

内容の異なる2つの同じテーブルで構成されるテーブルを作成するにはどうすればよいですか?

分類Dev

既存のテーブルに代理キー列を作成するにはどうすればよいですか?

分類Dev

いくつかのテーブルヘッダーのスティッキーヘッダーを作成するにはどうすればよいですか?

分類Dev

1つのテーブルを指す複数の外部キーを使用してクエリを実行するにはどうすればよいですか?

分類Dev

MySQLで2つの別々のテーブルの情報を使用して「接続」テーブルを作成するにはどうすればよいですか?

分類Dev

2つの外部キーを持つFriendsオブジェクトを作成するにはどうすればよいですか?

分類Dev

テーブルの2つの列を別のテーブルの主キーと結合するにはどうすればよいですか?

分類Dev

Liquibaseで外部キー制約のあるテーブルを作成するにはどうすればよいですか?

分類Dev

Rで他の2つのテーブルを使用してテーブルを作成するにはどうすればよいですか?

分類Dev

3つのテーブルを1つに結合し、これらのテーブルが4番目のテーブルへの外部キーを持つようにするにはどうすればよいですか?

分類Dev

別のテーブルの外部キーによって参照されている主キーを取得するにはどうすればよいですか?

分類Dev

2つのGoogleFusionテーブルのデータを使用するにはどうすればよいですか?

分類Dev

2つのテーブルを1つに追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    Postgresで2つのテーブルの1つを指す外部キーを追加するにはどうすればよいですか?

  2. 2

    外部キーと主キーの概念を使用して2つのテーブルを接続するにはどうすればよいですか?

  3. 3

    Laravelの別のテーブルを参照する外部キー値を持つテーブルを追加するにはどうすればよいですか?

  4. 4

    自動インクリメントによって作成された1つのテーブルから2番目のテーブルに外部キーとして主キーを挿入するにはどうすればよいですか?

  5. 5

    ブリッジテーブルを作成するにはどうすればよいですか?2つの主キーと2つの外部キーを作成しますか?

  6. 6

    テーブル作成時に外部キーを作成するにはどうすればよいですか

  7. 7

    2つ以上のHBaseテーブルを作成するにはどうすればよいですか?

  8. 8

    2つのテーブルテーブルB(id、type)またはテーブルC(id、type)のいずれかを参照する外部キー制約をテーブルA(id、type)に追加するにはどうすればよいですか?

  9. 9

    2つのテーブルに外部キーを使用して経費を記録するにはどうすればよいですか?

  10. 10

    テーブルへの外部キーを持つテーブルのリストを取得するにはどうすればよいですか?

  11. 11

    UCanAccessを介して、他の1つのテーブルへの2つの外部キー参照を含むテーブルを作成するにはどうすればよいですか?

  12. 12

    Androidでテーブルに画像と2つのテキストビューを作成するにはどうすればよいですか?

  13. 13

    外部キー参照を使用してテーブルを作成するにはどうすればよいですか?

  14. 14

    MySQLのテーブルに別の主キーを作成するにはどうすればよいですか?

  15. 15

    2つの外部キーを持つモデルのスコープを作成するにはどうすればよいですか?

  16. 16

    同じ関係の2つの外部キーを持つモデルの関連付けを作成するにはどうすればよいですか?

  17. 17

    内容の異なる2つの同じテーブルで構成されるテーブルを作成するにはどうすればよいですか?

  18. 18

    既存のテーブルに代理キー列を作成するにはどうすればよいですか?

  19. 19

    いくつかのテーブルヘッダーのスティッキーヘッダーを作成するにはどうすればよいですか?

  20. 20

    1つのテーブルを指す複数の外部キーを使用してクエリを実行するにはどうすればよいですか?

  21. 21

    MySQLで2つの別々のテーブルの情報を使用して「接続」テーブルを作成するにはどうすればよいですか?

  22. 22

    2つの外部キーを持つFriendsオブジェクトを作成するにはどうすればよいですか?

  23. 23

    テーブルの2つの列を別のテーブルの主キーと結合するにはどうすればよいですか?

  24. 24

    Liquibaseで外部キー制約のあるテーブルを作成するにはどうすればよいですか?

  25. 25

    Rで他の2つのテーブルを使用してテーブルを作成するにはどうすればよいですか?

  26. 26

    3つのテーブルを1つに結合し、これらのテーブルが4番目のテーブルへの外部キーを持つようにするにはどうすればよいですか?

  27. 27

    別のテーブルの外部キーによって参照されている主キーを取得するにはどうすればよいですか?

  28. 28

    2つのGoogleFusionテーブルのデータを使用するにはどうすればよいですか?

  29. 29

    2つのテーブルを1つに追加するにはどうすればよいですか?

ホットタグ

アーカイブ