2017-08-01 13 views
0

私は、製品(動的に変更する)とデータエクスポート用のテーブルを持っています。私はテーブル・プロダクトからテーブル・エクスポートに新製品を追加するトリガーが必要です。鉱山コードはMySQL DBの自動更新トリガを作成するには?

CREATE TRIGGER auto_update 
BEFORE UPDATE 
FOR EACH ROW 
SET export.name = product.prod_name, export.link=product.prod_link, export.price=product.prod_price 
WHERE product.prod_type='product'; 

ですが、このコードは機能しません。それを修正するには?何か案は?

+0

トリガーではなくイベントが必要だと思います。 –

+0

多分、私はSQLでかなり新しいイベントです。 –

答えて

1

このコードを定期的に実行する必要があるため、代わりにイベントスケジューラを使用できます。

こちらをご覧ください。このことからhttps://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html

をあなたのようなことを行うことができます。これは、10秒ごとに実行するための新しいイベントを作成し、テーブルmytableにUNIXタイムスタンプを挿入します

CREATE EVENT e_store_ts 
    ON SCHEDULE 
     EVERY 10 SECOND 
    DO 
     INSERT INTO myschema.mytable VALUES (UNIX_TIMESTAMP()); 

ALTERでイベントを変更でき、DROPで削除できます。楽しむ!

あなたのケースでは、実行する式を実行する毎日実行するイベントを作成します(DO句)。

+0

テーブル全体を再入力せずに新しいアイテムだけを追加する方法は?私が理解しているところでは、 '存在しない場所 'というコマンドがありますが、' INSERT INTO 'export_copy'(' name'、 'link')のようなコードを変更した場合は存在しません(SELECT p.post_title、p.guid FROM wp_posts p WHERE p.post_type = 'product') 'WHERE NOT EXISTS'の近くで構文が間違っているというエラーがあります。 –

+0

多くの製品があり、毎日たくさん追加していますか? –

+0

それほどですが、私は怠け者です。今すぐスクリプトを作成して忘れてしまいたいですね:) –

関連する問題