mysql - 如何在mysql事件调度程序中运行两个更新查询?

标签 mysql

Mysql 事件调度程序是这样的:

    CREATE EVENT update_status
    ON SCHEDULE EVERY 2 MINUTE
    DO
    BEGIN
    UPDATE customer_group
    SET is_status = 0
    WHERE CURRENT_TIMESTAMP BETWEEN start_date AND end_date;
    UPDATE customer_group 
    SET is_status = 1
    WHERE CURRENT_TIMESTAMP NOT BETWEEN start_date AND end_date;
    END

当我运行脚本时,存在这样的错误:

Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7

有什么办法可以解决我的问题吗?

非常感谢

最佳答案

试试这个:

DELIMITER $$
CREATE EVENT update_status
ON SCHEDULE
    EVERY 2 MINUTE
DO
BEGIN
    UPDATE
       customer_group      
    SET
       is_status = 0      
    WHERE
       CURRENT_TIMESTAMP BETWEEN start_date AND end_date;      
    UPDATE
        customer_group       
    SET
       is_status = 1      
    WHERE
        CURRENT_TIMESTAMP NOT BETWEEN start_date AND end_date;
END $$
DELIMITER ;

关于mysql - 如何在mysql事件调度程序中运行两个更新查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37825002/

相关文章:

MySQL:拆分字段,对每个部分进行字符串替换和连接,然后重新加入

php - MySQL 是否足够快以每次都从数据库中读取,或者我应该缓存结果?

mysql - 如何显示mysql表中多列的一行数据

mysql 仅在值不存在时插入行

php - 避免删除 API 函数中的 SQL 注入(inject)

phpmyadmin,mysql 数据库父?

MySQL 交集

Python SQL 炼金术 : Efficient Query and For Loop

php - 如果变量在数据库中,则停止-如果变量不在数据库中-则输入它

MySQL JOIN 相似日期时间表中的数据