mysql 设置event事件

1、需求:间隔一段时间,mysql 去操作保留最新n条数据

2、创建事件
db.execSql(“create event delete_test on SCHEDULE EVERY 5 second ON COMPLETION PRESERVE do delete A from ZYY A join (select id from ZYY ORDER BY id desc limit 8, 1) B on A.id < B.id”);

3、开启事件使能
/etc/mysql/mysql.conf.d路径下,mysqld.cnf文件里添加event_scheduler=ON

4、代码
db.execSql(“drop event if exists delete_test”);

   db.execSql("create event delete_test on SCHEDULE EVERY 5 second ON COMPLETION PRESERVE do delete A from test_table A join (select id from test_table ORDER BY id desc limit 8, 1) B on A.id < B.id");

static int i = 0;
char str[100];
while(1)
{
    i ++;
    sprintf(str, "insert into test_table (level) values (%d)", i);

    db.execSql("select * from test_table");
    printf("lalalalalalalalala  \n");
    db.execSql(str);
    sleep(2);
}

5、结果
运行结果
参考链接:
https://blog.csdn.net/CYLiberty/article/details/86480476
https://blog.csdn.net/tanksyg/article/details/83898047
https://blog.csdn.net/java123student/article/details/64920936

猜你喜欢

转载自blog.csdn.net/zhiyijue7762/article/details/106398899