0

updateトリガーを作成しようとしているので、「order」テーブルの「FirstName」行に新しい値がテーブルtriggers.FirstNameに保存されます。

この方法でMySQLクエリを作成しましたが、「SQL構文にエラーがあります」というメッセージが表示されます。私は何か間違ったことをしていると思います:

DELIMITER $$
CREATE TRIGGER when_updated
BEFORE UPDATE 
ON order
FOR EACH ROW 
BEGIN
INSERT INTO triggers (timestamp, FirstName) VALUES (now(), NEW.FirstName)
END$$
DELIMITER;
4

1 に答える 1

2

INSERTあなたは声明を終わらせていません、

DELIMITER $$ 
CREATE TRIGGER when_updated 
BEFORE UPDATE ON `order` FOR EACH ROW 
BEGIN 
    INSERT INTO triggers (timestamp, FirstName) 
    VALUES (now(), NEW.FirstName);
                              -- ^ HERE
END$$ 
DELIMITER;

また、ORDER予約語です。テーブル名として使用できるように、バックティックで区切ります。

于 2013-03-18T00:06:38.340 に答える