Mysql(InnoDB)で逆ルックアップを使用することが可能かどうか疑問です。逆参照のためにInnoDBテーブルにMysqlの外部キーを使用することはできますか?
理由 - 私はデータベースからXMLのような構造を読みたい( "レイヤー"ごとに1つのテーブルを使用する)が、これを動的に行うことができる。私は新しいテーブルを追加し、FK制約を設定することによってxml構造体を更新できるようにしたい。
明確にするには、idとparent_idを持つテーブル "parent"と他の2つのカラム(k1とk2)があるとします。 XMLは(IDを省略)のようになります。
<parent>
<k1>v1</k1>
<k2>v2</k2>
</parent>
今、私たちは、外部キー参照のPARENT_IDと一つの他の列(CK1)と子テーブルを追加します。同じクエリ(後でいくつかの処理を行う)は、次のようになります。
<parent>
<k1>v1</k1>
<k2>v2</k2>
<child>
<ck1>cv1</ck1>
</child>
</parent>
これは可能ですか? "SELECT * FROM parent_table"に何らかのパラメータを設定して、FKで返された子行を返すようにしますか?
多くの感謝! /ビクター
) - 実際の選択クエリを実行する際に別の問題がある。
私はまだ「より良い」解を得るのが大好きだが、これは、少なくともスタートかもしれません。通常の "SELECT * FROM parent_table、child_table"は、FKのことに関係なく2つのテーブルを結合します(WHERE child_table.fk_constraint_col = parent_table.idまたはsimilairを明示的に指定しています)。 select文がFKを明示的に指定せずに考慮に入れることは可能ですか? ありがとう! – Victor