4532132 发表于 2017-1-17 10:00:55

mysql触发器TRIGGER实例

查询:SELECT * FROM information_schema.triggers;

删除:drop trigger trigger_name;

实例:

DELIMITER $
CREATE TRIGGER FRCHANCOUNTRY
BEFORE
INSERT ON orders
FOR EACH ROW
BEGIN
DECLARE d VARCHAR(20);
SET d = LEFT(NEW.buyer_zip,3);
IF (new.buyer_country_code = 'FR' AND d=974)
THEN
SET NEW.buyer_country_code = 'RE';
SET NEW.buyer_country = 'Reunion';
END IF;
end;
$
DELIMITER;

创建名为FRCHANCOUNTRY,在insert插入数据库表orders前修改信息

NEW代表insert的数据

sql语句:

insert into orders(buyer_zip,buyer_country_code,buyer_country,buyer_zip) values('974125','FR','France');

最终插入结果的执行语句为:

insert into orders(buyer_zip,buyer_country_code,buyer_country,buyer_zip) values('974125','RE','Reunion');



页: [1]
查看完整版本: mysql触发器TRIGGER实例