2017-12-04 15 views
2

最初のテーブルにデータを挿入するときにトリガを作成して、最初のテーブルに関連する2番目のデータを挿入できるようにする必要があります。テーブルにデータを挿入するための挿入トリガの前にMySQLを書くには?

CREATE TRIGGER test1 
ON Telegramas 
BEFORE INSERT 
AS 
BEGIN 
    INSERT INTO Dispositivos SET Dispositivos.GrupoOrigen = Telegramas.GrupoOrigen; 
    END; 

私はそれを作成しましたが、私は見ることができない構文エラーがあります。手助け?または関係をより簡単にする別の方法ですか?

delimiter | 
CREATE TRIGGER test1 

[...] 
END | 
delimiter ; 

をしかし、あなたのトリガーに問題がある:

+0

は、私たちと構文エラーを共有することができますか? – saw303

+0

エラー consultaのSQL: INSERT INTO Dispositivos SET Dispositivos.GrupoOrigen = Telegramas.GrupoOrigenをBEGIN TelegramasBEFORE INSERT AS ON をTRIGGERのtelegramas.test1を作成します。 MySQLのデータベース:文書番号 #1064 - SQL構文に誤りがあります。ライン2 –

答えて

2

あなたはこのように、区切り文字を変更する必要が

delimiter | 
    CREATE TRIGGER test1 BEFORE INSERT ON Telegramas 
    FOR EACH ROW 
    BEGIN 
     INSERT INTO Dispositivos SET GrupoOrigen = NEW.GrupoOrigen; 
    END | 
delimiter ; 
+0

で「 INSERT INTO Dispositivos SETディスポをBEGIN AS INSERT BEFORE Telegramas ON」近くを使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してくださいありがとうございました、それが正常に働いていたが、私は挿入したときメインテーブルにある2つの同一のデータは、繰り返されないものだけを挿入しますが、テーブル2にトリガを挿入すると、ただ1つではなく2つが挿入されます。 @ jean-doux –

関連する問題