0

MySQL トリガーを作成しようとしています。次のような 2 つのテーブルがあります。

テーブル

顧客が購入すると、新しいレコードが各テーブルに追加されます。テーブル B に列 'sku_copy' を追加したので、新しいレコードが作成されたときにデータが取り込まれません。

新しいレコードが作成されたら、トリガーでテーブル A の「sku」フィールドをテーブル B の「sku_copy」フィールドにコピーしたいのですが、トリガーで次の条件をどのように構成するかが問題です。

IF: テーブル A の「order_id」がテーブル B の「order_id」と一致します。THEN: テーブル A のレコードから「order_id」が一致するテーブル B のレコードに「sku」をコピーします。データはテーブル B 'sku_copy' に追加する必要があります。

ELSE: 何もしないでください。

これをトリガーに書き込む方法を教えてもらえますか?

ご協力いただきありがとうございます。

4

2 に答える 2

0

これを試してみてください。しかし、なぜこれにトリガーを使用すると思いますか?

 DELIMITER $$
    CREATE TRIGGER trigger_name
        AFTER INSERT ON tableA
        FOR EACH ROW BEGIN

        INSERT INTO tableB
        SET sku_copy = OLD.sku,
             order_id = OLD.order_id,
            order = OLD.order;

    END$$
    DELIMITER ;
于 2013-08-22T17:18:49.567 に答える
0

ここと別のフォーラムで提供されている例で構築されたトリガーを投稿したいと思います。これを手伝ってくれたみんなに感謝します。

DELIMITER $$

   CREATE TRIGGER sku_AfterInsert
     AFTER INSERT ON uau3h_virtuemart_order_items
     FOR EACH ROW BEGIN

     UPDATE uau3h_virtuemart_orders
     SET order_item_sku_copy = NEW.order_item_sku
     WHERE virtuemart_order_id = NEW.virtuemart_order_id;
  END$$;

DELIMITER ;
于 2013-08-23T17:44:12.873 に答える