2017-02-09 6 views
1

私はDBICが初めてです。データをデータベースにインポートしました。明らかに、子テーブルの外部キー列のすべての値が親テーブル内の対応する値を持つわけではないため、テーブル間にリレーションシップを作成することはできません。DBIx :: Classを関係なくデータベース上で使用できますか?

まだテーブル間の結合は可能ですか?私はチュートリアルとドキュメンテーションを読み飛ばされましたが、この問題に対処するものは何も見つかりませんでした。

+2

DBIx :: Classの略語はDBICです。 DBIxは、DBIエクステンションを含むCPAN名前空間全体です。 –

+0

親テーブルに参照されているすべての行が含まれていないのはなぜですか? –

+0

私は完全にはわかりません。そうすべき。私はデータを生成せず、ファイルからインポートしました。私は1つの巨大なデータベースに複数のデータベース(毎年1つ)をインポートしました。 'ALTER TABLE' ar_disbursements_emp_off'ADD CONSTRAINT 'ar_disbursements_emp_off_fk' FOREIGN KEY(' rpt_id'、 'lm2_year ')のように、マルチカラムの外部キーの一部として使うことができると期待していた各テーブルの" year "カラムをタックしました。 ')' 'lm_data'(' rpt_id'、 'lm2_year')カスケードを更新するにはCASCADEを – StevieD

答えて

2

もちろん、DBICスキーマ内でデータベースに一致する制約がないリレーションシップを定義することはできます。 $ schema-> deployを使用すると、すべての外部キー列の制約が自動的に生成されます。

+0

私は混乱しています。どの列が外部キーであるはずであるかをどのように知るでしょうか? – StevieD

+0

belongs_to関係を定義するとき。 –

関連する問題