假设我有一张桌子。
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 未设置?