65 lines
1.3 KiB
SQL
65 lines
1.3 KiB
SQL
CREATE DATABASE EventsDB;
|
||
|
||
USE EventsDB;
|
||
|
||
CREATE TABLE Messages (
|
||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||
message VARCHAR(100),
|
||
created_at DATETIME
|
||
);
|
||
|
||
SET GLOBAL event_scheduler = ON;
|
||
|
||
#1.1 Створіть одноразову подію (слайд 33)
|
||
CREATE EVENT IF NOT EXISTS test_event_02
|
||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 20 second
|
||
ON COMPLETION PRESERVE
|
||
DO
|
||
INSERT INTO
|
||
Messages(message,created_at)
|
||
VALUES('Test MySQL Event 2', DATE_FORMAT(
|
||
CONVERT_TZ(
|
||
UTC_TIMESTAMP(),
|
||
'+00:00',
|
||
'Europe/Kyiv'
|
||
),
|
||
'%Y-%m-%d %H:%i:%s'
|
||
));
|
||
|
||
drop event test_event_02;
|
||
|
||
ALTER EVENT test_event_02
|
||
ON SCHEDULE AT NOW()
|
||
ENABLE;
|
||
|
||
SHOW EVENTS;
|
||
|
||
# 1.2 Переконайтеся у її працездатності
|
||
|
||
select * from Messages;
|
||
|
||
# 2.1 Створіть повторювану подію (слайд 34)
|
||
CREATE EVENT test_event_03
|
||
ON SCHEDULE EVERY 1 MINUTE
|
||
STARTS CURRENT_TIMESTAMP
|
||
ENDS CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
|
||
DO
|
||
INSERT INTO Messages(message,created_at)
|
||
VALUES('Test MySQL recurring Event', DATE_FORMAT(
|
||
CONVERT_TZ(
|
||
UTC_TIMESTAMP(),
|
||
'+00:00',
|
||
'Europe/Kyiv'
|
||
),
|
||
'%Y-%m-%d %H:%i:%s'
|
||
));
|
||
|
||
drop event test_event_03;
|
||
|
||
SHOW EVENTS;
|
||
|
||
# 2.2 Переконайтеся у її працездатності
|
||
|
||
select * from Messages;
|
||
|
||
set global time_zone = 'Europe/Kyiv'; |