1

私は2つのテーブルを持っています:

PrimKey
001
002

と:

ID | ForeignKey
a  | 001
b  | 002
c  | 002

たとえば、行 002 を削除し、002 のすべての外部キーを 001 に「バインド」すると、次のようになります。

PrimKey
001

と:

ID | ForeignKey
a  | 001
b  | 001
c  | 001

FK 制約により、UPDATE + DELETE を実行できません。どこを掘るかのヒントはありますか?

4

3 に答える 3

3

あなたは別の方向からそれをしなければなりません。最初のテーブルの別の PK を指すように 2 番目のテーブルの行を変更します。その後、row002 への参照がない場合は、それを削除できます。

于 2012-06-06T20:23:48.960 に答える
0

begin transactionまた、 、updatedeleteおよび を試すこともできますcommit

于 2012-06-06T20:24:49.020 に答える
0

データベーススキーマを制御できない場合は、Jeremy が指摘したように手動で削除する必要があります。

制御できる場合は、テーブル間に外部キー関係を追加し、関係の詳細に「カスケード削除」制約を追加できます。これを行うには、外部キーを持つテーブルのテーブル デザインに移動し、右クリックして [関係] を選択します。次に、[追加] を選択し、テーブルと列を定義するセクションに移動します。3 つの点があるボタンをクリックすると、関係の親テーブルを選択できるようになり、関係を作成するための列を選択できるようになります。最後に、関係画面で挿入/更新仕様セクションを見つけて、削除時に「カスケード」を示します。(これには、alter table ステートメントもありますが、GUI を使用した方が速い場合もあります。)

于 2012-06-06T20:34:49.490 に答える