gpt4 book ai didi

java - 创建事件以删除表中的记录

转载 作者:行者123 更新时间:2023-11-29 22:28:04 25 4
gpt4 key购买 nike

我正在尝试让我的 mysql 事件正常工作,但我遇到的问题是在没有 autoDelete 事件的情况下创建总线表,并且我没有收到任何错误。我通过在 sql 浏览器中执行此语句 show events 检查了 phpmyadmin 中的表,我得到的结果是空结果,因为我说总线表在那里?!

我在 phpmyadmin sql 浏览器中检查了 EVENT 语法代码,它有效吗?

DatabaseMetaData dbm = con.getMetaData();
ResultSet tables = dbm.getTables(null, null, "bus", null);
if (tables.next()) {
// here if the table exist just update data. I have the most of my code her.
return status;
} else {
// Create bus table
stt.execute("CREATE TABLE IF NOT EXISTS bus"
+ "(id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,"
+ "mac VARCHAR(30) NOT NULL UNIQUE,"
+ "route int(11) NOT NULL,"
+ "latitude FLOAT(10,6) NOT NULL,"
+ "longitude FLOAT(10,6) NOT NULL,"
+ "created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");

stt.execute("CREATE EVENT AutoDelete"
+ "ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 MINUTE "
+ "DO "
+ "DELETE FROM bus WHERE created_at < (NOW() - INTERVAL 3 MINUTE)");
insert_update_data(mac, route, latD, longD, con);
return status;

}

最佳答案

尝试在事件名称后添加空格

"CREATE EVENT AutoDelete "

我认为您的代码当前正在创建一个如下所示的字符串:

CREATE EVENT AutoDeleteON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 MINUTE DO DELETE FROM bus WHERE created_at < (NOW() - INTERVAL 3 MINUTE)

虽然我很惊讶这没有抛出 SQLException

关于java - 创建事件以删除表中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30077311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com