【发布时间】:2019-05-28 16:23:54
【问题描述】:
我有一个名为“autoad”的数据库表,2 列是“allads”和“finished”,我想在更新查询之前执行 chek if value(finished) > value(allads) 然后抛出异常,我使用了触发器为此,但是当 pat 进入 phpmyadmin 时会出现错误: mysql 说 #1303 - 无法从另一个存储的例程中创建触发器
CREATE TRIGGER before_insert_finished BEFORE INSERT ON autoad
FOR EACH ROW
BEGIN
SET @CountOfCar = (SELECT allads FROM autoad)
SET @CountOfCar2 = (SELECT finished FROM autoad
IF @CountOfCar2>@CountOfCar THEN
ON UPDATE NO ACTION
END
已编辑:
在 phpmyadmin gui 中只想要代码主体,在 begin....end 之间,我现在尝试:
BEGIN
SET @CountOfCar = (SELECT allads FROM autoad)
SET @CountOfCar2 = (SELECT finished FROM autoad
IF @CountOfCar2>@CountOfCar THEN
ON UPDATE NO ACTION
END
错误: MySQL 说:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'SET @CountOfCar2 = (SELECT finished FROM autoad IF @CountOfCar2>@CountOfCar ' 附近使用正确的语法
【问题讨论】:
标签: triggers phpmyadmin