Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm việc với Sự kiện trong MySQL

Tôi tin rằng bạn đang nghĩ điều này theo hướng không thích hợp:Bạn không thể tạo sự kiện trong một thủ tục được lưu trữ, nhưng bạn có thể tạo một thủ tục được lưu trữ và gọi nó từ một sự kiện.

Ví dụ:

delimiter $$
create procedure myProc()
-- Dummy procedure to move the data from mainTable to backupTable, 
-- and then clear (truncate) mainTable
begin
    insert into backupTable select * from mainTable;
    truncate mainTable;
end $$
delimiter ;

-- Now, suposing that you want to execute this procedure every hour:
delimiter $$
create event myEvent
    on schedule every 1 hour
    do
        begin
            call myProc();
        end $$
delimiter ;

Bạn có thể viết điều này dưới dạng bất kỳ truy vấn nào khác trong bàn làm việc hoặc trực tiếp trong máy khách dòng lệnh.

Về mối quan tâm của bạn

Sau khi đọc bình luận của bạn, tôi tin rằng bạn hơi bối rối về MySQL Workbench là gì.

MySQL Workbench chỉ là một ứng dụng đồ họa cho phép bạn kết nối với máy chủ MySQL và thực hiện các truy vấn và tác vụ quản trị. Nhưng Workbench không cốt lõi của MySQL ... nó chỉ là một trình xem (có thể có steroid, nhưng xét cho cùng thì cũng là một trình xem).

Bây giờ, bộ lập lịch sự kiện không nằm trong Workbench mà nằm trong phiên bản máy chủ MySQL mà bạn đang kết nối. Cũng giống như các bảng, dạng xem, thủ tục và chức năng không được lưu trữ trong giao diện Workbench nhưng trong máy chủ, các sự kiện cũng được lưu trữ trong máy chủ.

(Vâng, tôi tin rằng đó là một SNAFU có liên quan mà các sự kiện đã lên lịch không hiển thị ở bất kỳ đâu trong giao diện đồ họa, nhưng ... sau một thời gian, người ta học cách sống với loại thất vọng đó và tiếp tục cuộc sống)

Có thể mối quan tâm duy nhất của bạn là:"Này, và nếu tôi muốn biết những sự kiện nào được thiết lập để chạy trong bộ lập lịch sự kiện?" Bạn có thể thực thi truy vấn "hiển thị sự kiện" để hiển thị danh sách các sự kiện trong cơ sở dữ liệu hiện tại và bạn có thể thực thi "hiển thị tạo sự kiện yourEvent" để hiển thị create event cú pháp cho sự kiện đó.

Tôi nhấn mạnh:Đọc hướng dẫn và giữ một bản sao trong tay (tải xuống hướng dẫn cho phiên bản MySQL của bạn tại đây ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi phân tích cú pháp dữ liệu org.json.JSONException:Kết thúc đầu vào ở ký tự 0 của - Android

  2. Không gian tên System.Data.SqlClient cho MySQL?

  3. 1045, Quyền truy cập bị từ chối đối với người dùng 'tên người dùng' @ 'KHÔNG cục bộ' (sử dụng mật khẩu:CÓ)

  4. Người dùng 'Người dùng' @ '%' và 'Người dùng' @ 'localhost' có giống nhau không?

  5. Truy vấn SQL để lấy giá trị cột tương ứng với giá trị MAX của cột khác?