我通过phpmyadmin在我的mysql数据库中添加了以下简单的测试事件:
CREATE DEFINER=`root`@`localhost` EVENT `my_event`
ON SCHEDULE EVERY 1 MINUTE STARTS '2013-05-27 00:00:00'
ON COMPLETION NOT PRESERVE ENABLE DO
BEGIN
UPDATE `test` SET `name`="z";
END
Run Code Online (Sandbox Code Playgroud)
我的环境是mac + MAMP Pro.我希望在一分钟内更改名为'z'的'test'表中的所有行.但事情并非如此.
我需要额外的东西来让我的活动开始工作吗?
输出"SHOW PROCESSLIST":

谢谢.
我每小时都要更新我的MySQL数据库,我想知道使用cronjob VS MySQL事件的优点/缺点是什么?例如,哪个更快?哪个更安全?谢谢!
我想在每天的第一分钟增加一个字段,然后一旦它达到某个值,将值设置为1.我想直接在MySQL中执行此操作,但最好通过phpMyAdmin.
我知道事件调度程序,所以我正在寻找一种通过phpMyAdmin使用和管理它的方法.这可能吗?
是否可以制作一个每晚11点运行的存储过程,如果过去六个月修改了任何记录,请检查表.如果过去六个月修改了某些记录,我必须从表中删除它.这必须在不使用任何外部语言的情况下自动运行.
我尝试使用mysql-events 包的简单示例, 但是当我尝试使用它时,出现此错误:
错误:ER_NO_BINARY_LOGGING:您没有使用二进制日志
所以我改变了my.cnf:
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see …Run Code Online (Sandbox Code Playgroud) 我对 phpmyadmin 和 SQL 数据库相当陌生。
我想知道如何添加一个“脚本”,在特定时间段后重置表的所有列中的值 -> 我希望该列每 72 小时将每行的 int 值设置为 0。这是可能的吗?
我想在Mysql事件的帮助下执行以下查询但是当我在事件中添加delete语句并尝试创建它时,给我Mysql错误.如果我选择跳过delete语句,则会创建事件而不会出现任何问题.
INSERT INTO tbl_bookings_released
(
id, row, seatnum, price,theatre_id, play_id, show_id, showtime, show_date,
isbooked, inserted_at, inserted_from, booking_num, tot_price, subzone_id,
zone_id, txn_id
)
SELECT
id, row, seatnum, price,theatre_id, play_id, show_id, showtime,
show_date, isbooked, inserted_at, inserted_from, booking_num,
tot_price, subzone_id, zone_id, txn_id
FROM tbl_bookings
WHERE (
UNIX_TIMESTAMP( NOW( ) ) - UNIX_TIMESTAMP( inserted_at )
) /60 > 2
AND booking_num NOT
IN (
SELECT booking_id
FROM tbl_cust_booking
);
DELETE
FROM tbl_bookings
WHERE (
UNIX_TIMESTAMP( NOW( ) ) - UNIX_TIMESTAMP( inserted_at )
) /60 …Run Code Online (Sandbox Code Playgroud) 我创建了一个事件,但无法弄清楚如何在运行时记录,需要多长时间以及是否有任何错误.我该怎么做呢?
CREATE EVENT ON SCHEDULE EVERY 5 MINUTE
DO BEGIN
...do something...
END
Run Code Online (Sandbox Code Playgroud) 作为迁移的一部分,我需要从 MySQL 5.6 集群中导出 MySQL 事件并将它们导入到 MySQL 5.7 集群中
复制表是否mysql.event足以满足此要求,或者是否有更好的方法仅从 MySQL 数据库导出事件?
我必须每天在某个时间(比如 00:00:00)从我的数据库中清空我的一个表。我在程序中有这个:
CREATE DEFINER=`root`@`%` PROCEDURE `delete_day`()
BEGIN
TRUNCATE TABLE qmsos.module_queuemanagement_queue;
END
Run Code Online (Sandbox Code Playgroud)
我尝试制作一个每天调用并重复此操作的事件,如下所示:
CREATE
EVENT `delete_queue_daily`
ON SCHEDULE EVERY 1 DAY STARTS '2017-05-12 00:00:00'
ON COMPLETION PRESERVE
DO CALL delete_day();
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我尝试在特定时间只执行一次它并且它有效,但如果我想每天运行它就不行。