私はSQLを初めて使っていますが、各挿入時に実行される簡単なトリガーを構築しようとしています。キーがすでに存在する場合はテーブルの値を更新し、存在しない場合は新しい値を挿入します。キーが存在する場合、または挿入ifが存在しない場合、MariaDB SQLトリガを更新しますか?
以下は私が試みたことですが、私は理想的には、テスターを挿入したいものにしたいと思っています。 NEW.reference_keyのようなもの?
CREATE TRIGGER key_access_monitor
BEFORE INSERT ON individual_key_log
FOR EACH ROW
BEGIN
IF EXISTS (SELECT reference_key FROM individual_key_log WHERE key = 'tester')
SELECT 'Found it!'
ELSE
SELECT 'Cannot find it!'
END IF
END
これはかなり良いです、唯一の問題は私が取得していますストアドファンクション/トリガーでテーブル 'individual_key_log'を更新できません。このストアドファンクション/トリガーを呼び出すステートメントで既に使用されているためです。 –
私はトリガの代わりに 'INSERT ... ON DUPLICATE KEY UPDATE' *を実行します。それは実際の** INSERT' **クエリ自体でなければなりません。 –
ああ、もちろん。それは理にかなっている。入力いただきありがとうございます! –