トリガーがエラーなしで戻ってきます。しかし、私はそれをテストすると、エラーメッセージは返されず、テストデータはテーブルに格納されています..私がしたいものではありません。MySQLトリガーが完全に機能しない
は、基本的に(これは授業のためのものである)、Iはバルセロナ以外の場所がテーブルに挿入されているエラーメッセージを表示するトリガしたいです。
これは私の引き金です。私が言ったように、エラーは戻って来ないが、うまくいかない? LocationTrigger
がnullの場合
DELIMITER $$
CREATE TRIGGER after_location_insert_finance
AFTER INSERT ON Finance
FOR EACH ROW
BEGIN
DECLARE LocationTrigger varchar(255);
DECLARE msg varchar(255);
SELECT Location INTO LocationTrigger
FROM Finance
WHERE Location != "Barcelona";
IF(LocationTrigger != "Barcelona") THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Not a valid location';
END IF;
END$$
はこれを修正する...大切トリTRUE、FALSEおよびNULLである: 'WHERE場所<> 'バルセロナ';'と 'IF(LocationTrigger <> 'バルセロナ') ' –
@ Harshil:**'!= '**演算子を**' <> '**に置き換えると、その変更は動作を変更するとは思いません。 MySQLでは、これら2つの演算子は同義語であり、どちらも同じ演算を表します。 – spencer7593