2010-12-14 7 views
-1

私は単純なトリガーを書いていますが、私は得られないエラーを引き起こします。 HERESに私のトリガー:MySQLのトリガーを動作させることができません

CREATE TRIGGER logSlette After DELETE on ansatte 
for each row 
begin 
insert into slettede_ansatte set AnsattID=old.AnsattID,slettet=now() 
end; 

テーブルのCREATE TABLE文は次のとおりです。

CREATE TABLE slettede_Ansatte 
(
AnsattID Integer(4) NOT NULL, 
slettet TIME NOT NULL, 
CONSTRAINT Ansatte_PK Primary Key(AnsattID) 
) ENGINE=INNODB; 
+0

どのようなエラーが発生しますか? – David

+0

これは、 "SQL構文のエラー 'の終わり';" –

答えて

0

(改訂版)

correct syntaxは、多分それはセミコロン

CREATE TRIGGER logSlette AFTER DELETE ON ansatte 
    FOR EACH ROW 
    BEGIN 
    INSERT INTO slettede_ansatte 
     SET AnsattID = OLD.AnsattID, 
      slettet=now(); 
    END; 

をです?

+0

私のために解決していません –

+2

区切り文字を最初に変更する必要があります。セミコロンはCREATE TRIGGER文を閉じます(速すぎます)。 – Konerak

+0

私はMySQL Workbenchを使用していますので、どのように区切り文字を変更しますか?エラーコード:1064 SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が "at line 6"の近くで使用できるようにしてください –

関連する問題