目的: 插入的一条数据, 在5分钟后, mysql 自动删除'
** 如果每分钟执行进行检索事件 删除,肯定可行,但占用资源**
报错:1576
即使下面提了多个方法,绕开在 触发器中写 事件, 但是表格插入数据时,还是报错 1336 - Dynamic SQL is not allowed in stored function or trigger
请教:怎么正确地实现这一目的.
您能不能试先执行一下
ChatGTP 我已找了,没找到解决问题的方法
-- 创建触发器
DROP TRIGGER IF EXISTS phone_verily_code;
CREATE TRIGGER phone_verily_code AFTER INSERT ON table1
FOR EACH ROW
BEGIN
DECLARE event_name VARCHAR(100);
-- 随机生成 事件的名字
SET event_name = REPLACE(UUID(),'-','');
-- 创建5分钟后删除这条数据 的事件
CREATE EVENT IF NOT EXISTS event_name ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
-- 执行删除
DO DELETE FROM table1 WHERE id= new.id;
END;
报错信息:
> 1576 - Recursion of EVENT DDL statements is forbidden when body is present
> 查询时间: 0.02s