2017-07-16 5 views
0

私はcart_utilizadorテーブルを移入し、テーブルカートがフィールド件のデータCURDATE();が移入されるとき、テーブルカートを埋めることにしたいです。トリガーを使ってこれをどのように達成できますか?別の表が移入されたときに表を移入する方法はありますか?

DATABASE図: Database diagram

私はこれを試みたが、ONは、 "予期しないON" と言って私にエラーを与える:

CREATE TRIGGER cart_trigger 
    ON cart_utilizador AFTER UPDATE 
    AS 
    INSERT INTO cart (id, datas) 
     SELECT id_cart, CURDATE() 
     FROM cart_utilizador; 
+0

どのSQLデータベースですか? – maSTAShuFu

+0

Mysql @maSTAShuFu – fabimetabi

+1

同じようにトリガを使用します。 –

答えて

0

あなたはトリガーを使用することができます。あなたのユーザーがトリガーを作成するにはSUPER権限が必要な場合があります

DELIMITER | 
CREATE TRIGGER before_insert_cart BEFORE INSERT 
ON cart FOR EACH ROW 
BEGIN 
    INSERT INTO cart_utilizador(datas) values(now()); 
END | 
DELIMITER ; 

:トリガーを使用すると、cart_utilizadorにデータを挿入するとき、あなたはこれを試すことができます立ち上げて必要があります。 Permissions for creating a trigger in mysql

希望します。

+0

私は@WaLinkeがほしいと思うものではありません。私が今試したコードを見てください。 – fabimetabi

+0

データを取得するには、変数を使用する必要があります。 – WaLinke

0

After Update句をON句の前に移動するだけです。このようなもの -

CREATE TRIGGER cart_trigger AFTER UPDATE 
ON cart_utilizador FOR EACH ROW 
BEGIN 
    INSERT INTO cart (id, datas) 
    SELECT id_cart, CURDATE() 
    FROM cart_utilizador; 
END 
+0

そして、それは言う:_AS_は、この位置で有効な入力ではありません。 @AnkitBajpai – fabimetabi

+0

@fabimetabi、今すぐお試しください。 –

関連する問題