1

行の内容を別のテーブルにコピーするトリガーをテーブルに設定しようとしています。

私は次のものを持っています:

CREATE TRIGGER story_deleted BEFORE DELETE ON stories 
  FOR EACH ROW BEGIN
    INSERT INTO stories_backup SET story_id = OLD.story_id;  
  END;

ただし、これは次のエラーを返します。

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

私はこれでどこが間違っているのか理解できません。何か案は?

4

1 に答える 1

2

区切り文字を変更してみてください

DELIMITER $$

CREATE TRIGGER story_deleted BEFORE DELETE ON stories  
  FOR EACH ROW
  BEGIN 
    INSERT INTO stories_backup SET story_id = OLD.story_id;   
  END $$

DELIMITER ;

そして、あなたの特権に関する限り、このクエリを実行します

SHOW GRANTS;

SUPERがない場合は、

  • DBAにその特権を追加するように要求します
  • DBAにトリガーを作成してもらいます
于 2012-04-13T18:17:38.253 に答える