0

MySQL トリガーに関するヘルプはありますか? SQL で on delete insert トリガーを作成しようとしています...これまでのところ:

CREATE
[DEFINER = {user| CURRENT_USER }]
TRIGGER ProjectDoneTrigger After Delete
ON Project FOR EACH ROW insert into projectover values(old.projectID,old.name,
old.Department,old.MaxHours, old.StartDate,
old.EndDate);

ただし、MySQL は 2 行目の最初の [ で構文エラーを報告します...その行を行う正しい方法は何ですか?

4

2 に答える 2

0

MySQL リファレンス マニュアル、特にTypographical and Syntax Conventionsセクションを詳しく読んでください (構文の説明では、角かっこ (「[」と「]」) はオプションの単語または節を示します) の行から始めます)。本当に必要なコードの 2 行目からのリファレンス マニュアルを確認してください。コードを次のように変更できます (TRIGGERステートメントのデフォルトが必要であると仮定します)。

CREATE TRIGGER ProjectDoneTrigger AFTER DELETE ON Project 
FOR EACH ROW
INSERT INTO projectover 
VALUES (old.projectID,old.name, old.Department,old.MaxHours, 
old.StartDate, old.EndDate);

TRIGGER 構文の詳細については、リファレンス マニュアルの「トリガーの使用」セクションを参照してください。

于 2013-04-27T05:54:49.803 に答える
0

角かっこは、その中に含まれるものはすべてオプションであることを示します。そこに含まれるものは、コマンドが機能するために必須ではありませんが、コマンドの使用目的に応じて、使用したいものになる可能性があります。角かっこは文字どおりに解釈してはならないため、コマンドを実行するときに含めないでください。

このDEFINER部分は、トリガーのアクティブ化時にアクセス権限をチェックするときに使用する MySQL アカウントを指定する場合にのみ役立ちます。これは高度なトピックであり、必要であることがわかっている場合を除き、省略してください。

DEFINERより詳細な機能の説明が必要な場合は、 CREATE TRIGGER マニュアルで入手できます。

于 2013-04-27T05:55:29.500 に答える