triggers - TRIGGER 语法错误 mysql 说 #1303 - 无法从另一个存储的例程中创建触发器 - phpmyadmin
问题描述
我有名称为“autoad”的 db 表,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 ' 附近使用正确的语法
解决方案
当您在 phpMyAdmin GUI 中创建触发器时,您只需要在BEGIN ... END
部件之间的定义面板中输入触发器的主体。
推荐阅读
- c# - 如何在 C# 中从 bing 地图创建缩略图/快照以获得通用解决方案
- angular - 如何显示用户总数?角 2
- c# - c# - 如何将选定的行从一个datagridview移动到另一个datagridview?
- swift - 如何创建小时 xAxis
- node.js - ReferenceError:未定义猫鼬 - Node.js
- c++ - 图形场景Qt中右键单击上下文菜单响应缓慢
- apache-spark - Pyspark - 如何拆分具有 Datetime 类型的结构值的列?
- ruby-on-rails - Rails 能够在开发中解析命名空间模型,但不能在暂存环境中解析
- css - 如何禁用sidenav上的滚动
- sql - 在 SQL (Redshift) 中提取字符串并将列转换为行