一只平平无奇 2022-05-16 19:11
浏览 173
已结题

mysql创建触发器使用IF语句报错,如何解决?

我想在更改包厢状态state(从空闲状态到使用状态)的时候,使该包厢的销量和营业额相应增加。

我被mysql触发器的创建整不会了,使用IF语句就报错,不知道是哪儿出现问题了

相关表设计如下

包厢销量表:box_sales_volume_inf

包厢号:box_number包厢销量:count包厢销售额:sales
A013300

包厢信息表:box_inf

包厢号:box_number包厢状态:state
A01空闲
delimiter $$
CREATE TRIGGER update_count_sales AFTER UPDATE ON box_inf
FOR EACH ROW 
BEGIN
if old.state = "空闲" THEN
        UPDATE box_sales_volume_inf --更新包厢销量表操作
        set count =count+1,sales=sales+old.expense --包厢销量+1,包厢销售额+包厢固定费用
        WHERE box_sales_volume_inf.box_number=old.box_number --指定被更新的包厢的包厢号
end if;
end$$
delimiter;
报错内容

img

  • 写回答

1条回答 默认 最新

  • 一只平平无奇 2022-05-16 20:11
    关注

    解决了,update语句没加分号
    正确代码如下:delimiter $$
    CREATE TRIGGER update_count_sales AFTER UPDATE ON box_inf
    FOR EACH ROW
    BEGIN
    if old.state = "空闲" THEN
    UPDATE box_sales_volume_inf --更新包厢销量表操作
    set count =count+1,sales=sales+old.expense --包厢销量+1,包厢销售额+包厢固定费用
    WHERE box_sales_volume_inf.box_number=old.box_number; --指定被更新的包厢的包厢号
    end if;
    end$$
    delimiter;

    评论

报告相同问题?

问题事件

  • 系统已结题 5月24日
  • 修改了问题 5月16日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀