0

MySQL データベースにテーブルを書きました。Art テーブルと、関連する 3 つのテーブル Sculpture、Painting、および Photo があります。

Art のすべてのアイテムは、たまたま他の 3 つのうちの 1 つにのみ含まれています。ペイントでタプルを削除すると、トリガーが対応するアートのタプルを削除するようにトリガーを作成しようとしています。

これはペイントでのみ機能し、彫刻や写真には影響しません。これらのアイテムにはすべて id_no があり、絵画であるそれぞれのアイテムに対応する id_no が Painting にあります。Art の id_no は、Sculpture や Photo にまだ存在している可能性があるため、Painting にはないものを削除することはできません。

したがって、id_no を一時的にどこかに保存して (ペイントから削除された)、比較を行い、トリガーで (アートから) 削除するか、またはそれがどのように行われるかで、これを実行する必要があるかどうかはわかりません。

DELIMITER $ トリガーを作成 delete_painting 絵画の削除後 アートから削除 WHERE

4

1 に答える 1

1
DELIMITER $
CREATE TRIGGER delete_painting AFTER DELETE ON Painting
    DELETE FROM Art WHERE OLD.id_no = Art.id_no; $

「テーブル」OLDには削除した行のみが含まれているため、これを行うことができます。

于 2012-10-29T01:59:04.080 に答える