私はevents
と呼ばれるテーブルを持っています。この表は、ニュース項目のすべての照会の参照として機能し、そこでイベント項目が選択され、そのイベントに対応する情報が正しい表から検索されます。MySQLで2つ以上のテーブルに一意のIDを持たせるには?
ここに私の問題があります。私はE_ID
をイベントテーブルに入れて、別のテーブルのイベントのIDに対応しています。T_ID
はtracks
、S_ID
はstatus
などです...これらのIDは当分の間は同じですテーブルごとに異なるauto_increment値を使用しました。status
が0からtracks
などで開始されました。明らかに、どのテーブルがその中に最も多くのデータを持つのかまだ分かりません。私はstatus
がすぐにtracks
を超えると仮定します。
この情報は、トリガーを使用してevent
テーブルに挿入されます。ここに1つの例があります。
BEGIN
INSERT INTO events (action, E_ID, ID)
VALUES ('has some news.', NEW.S_ID, NEW.ID);
END
ステータステーブル用のものです。
私はNEW.S_ID
を確保するために作ることができるトリガに加えがあります!= events
で現在E_ID
とそれに応じS_ID
を変えなければ。
また、自動S_ID
はE_ID
の値にインクリメントされないようにS_ID
をインクリメントするとき、私は、イベントを参照するために使用できるキーのいくつかの種類があります。
これは私の考えですが、私は後者の方が良いでしょうが、それが可能であるとは思っていませんが、別の参照テーブルが必要で、複雑すぎます。
これらのIDが本当に必要な場合は、 1つのテーブルに自動増分フィールドを追加し、他のさまざまなテーブルにフィールドを移入するときにそのIDを新しいIDとして使用します。しかし、私はさまざまなテーブルにIDフィールドを完全に独立させることを好むでしょう。 – Kickstart