1
これは私のトリガーです。MySQL Triggerのエラー#1054
DELIMITER //
CREATE TRIGGER verificare_masa
BEFORE INSERT ON Rezervare
FOR EACH ROW
BEGIN
IF (NEW.Data_Rezervarii=Data_Rezervarii) AND (NEW.NumarMasa=NumarMasa) THEN
SET NEW.NumarMasa= NULL;
END IF;
END //
DELIMITER ;
私は1つのテーブル(rezervare)にトリガーを作りたいと思います。
トリガーを実行すると作成されました。しかし、私はテーブルrezervareにデータを挿入するとき、それは エラーコードになる:1054不明な列「Data_Rezervarii」「フィールドリスト」で
は、私は予約がその日 のためのデータベースにすでにあるかどうかを確認したいと必要な質量は既にその日付に予約されています
私はあなたのコードを使用しましたエラーコード:1193.不明なシステム変数 'NumarMasa' –
「SHOW CREATE TABLE Rezervare \ G」、「SHOW CREATE TRIGGER verificare_masa \ G'」および「SHOW VARIABLES LIKE」%version% ''。それはあなたがSET' 'の後に' NEW'を見逃している可能性があります - あなたは、この正確なエラーになるだろうあなたは '私は問題を解決しNumarMasa = ...' – elenst
SET、そうしようとしていた場合:DELIMITER // CREATE TRIGGERをverificare_masa EACH ROWの予約 ON挿入する前 IF(FROM SELECT COUNT(*)をWHERE予約NEW.Data_Rezervarii = Data_Rezervarii AND NEW.NumarMasa = NumarMasa)BEGIN = 1 THEN SET NEW.NumarMasa = NULL; END IF; END // DELIMITER; –