テーブルがあるとしましょう。
CREATE TABLE IF NOT EXISTS Test (
Id int(11) NOT NULL AUTO_INCREMENT,
Foo tinyint(1) unsigned NOT NULL DEFAULT 0,
Bar varchar(255) NOT NULL,
PRIMARY KEY (Id)
);
トリガーを挿入する前に:
DROP TRIGGER IF EXISTS `test_update`;
DELIMITER //
CREATE TRIGGER `test_update` BEFORE UPDATE ON `Test`
FOR EACH ROW BEGIN
IF NEW.Foo IS NULL THEN
-- do something
END IF;
END
//
DELIMITER ;
トリガーを介して、Foo
列が実際に更新ステートメントに渡されるかどうかを確認します。そうでなければ私は何かをします。
私のクエリ:
UPDATE Test
SET Bar = '23'
WHERE Id = 1;
Fooが設定されていないことを正しく検出する方法は?