【问题标题】:More than one if clause for MySQL TriggerMySQL 触发器的多个 if 子句
【发布时间】:2026-01-03 18:10:02
【问题描述】:

我想达到这样的目标:

当插入数据时,它将检查日期列,将其与当前日期进行比较,并将某些内容写入另一列。示例:

Today 27/08/2018
Date 27/08/2018
Result: Same Day

Today 27/08/2018
Date 26/08/2018
Result: Before Today

Today 27/08/2018
Date 28/08/2018
Result: After Today

我试过了,还是不行:

//CREATE TRIGGER trigger_update_status_before_insert 
BEFORE INSERT 
ON tablex
FOR EACH ROW BEGIN
  IF (NEW.date < CURDATE()) THEN
        SET NEW.status = 'Before Today'
  END IF

  IF (NEW.date = CURDATE()) THEN
        SET NEW.status = 'Same Day'
  END IF

  IF (NEW.date > CURDATE()) THEN
        SET NEW.status = 'After Today'
  END IF
END;//

phpmyadmin 分隔符://

【问题讨论】:

  • 每个语句都必须终止。

标签: mysql sql triggers phpmyadmin


【解决方案1】:

error in your SQL syntax creating MySQL trigger @p.campbell 的回答解决了这个问题。我刚刚删除了半列,它起作用了。

【讨论】:

    最近更新 更多