0
データが異なる場合にのみ、別のテーブルにデータを挿入したいとします。
したがって、このために、私は最初のテーブルの上にトリガを作成し、このように:私は、私がしようとした場合、これがないことに気づいMySQLのトリガー - データが異なる場合にのみ別のテーブルに挿入
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 'WHERE OLD.Key != NEW.Key
:
CREATE TRIGGER `RegistrationHistory` AFTER UPDATE ON `registration`
FOR EACH ROW
INSERT INTO registration_history (`Key`, `Name`, `Version`, `LastUpdate`)
SELECT OLD.Key, OLD.Name, OLD.Version, NOW()
WHERE OLD.Key != NEW.Key
AND OLD.Name != NEW.Name
AND OLD.Version != NEW.Version
問題はで、それはエラーが出ていることです
SELECT 'ACBDE'
WHERE 1 = 1
違いがある場合にのみ、MySQLを使用して履歴テーブルに挿入する方法を教えてください。 if文で
アイデアは非常に良いですが、残念ながら動作しません。私はエラーがあります:#1064 - SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして正しい構文を確認してください。 '5行目近くで使用します。 – CristiC
デリミタを追加してみてください - DELIMITER $$ CREATE TRIGGER ... BEGIN ... END $$ DELIMITER; – Devart
ありがとう、これは働いた。 – CristiC