EVENTO DE QUEDA MySQL

Resumo : neste tutorial você aprenderá como usar a DROP EVENTinstrução MySQL para remover um ou mais eventos do banco de dados.

Introdução à instrução MySQL DROP EVENT

A DROP EVENTinstrução permite remover um ou mais eventos agendados do agendador de eventos MySQL.

Aqui está a sintaxe básica da DROP EVENTinstrução:

DROP EVENT [IF EXISTS] event_name [, event_name] ...;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • IF EXISTS: uma cláusula opcional que evita a ocorrência de um erro se o evento especificado não existir.
  • event_name: o nome do evento que você deseja descartar. Você pode especificar vários eventos, separados por vírgulas.

Observe que você pode usar o curinga % no nome do evento para remover todos os eventos que correspondam a um padrão específico.

Para realizar a DROP EVENTinstrução, é necessário ter EVENTprivilégio no banco de dados ao qual o evento pertence.

Exemplo de instrução MySQL DROP EVENT

Mostraremos como criar um evento e removê-lo usando a DROP EVENTinstrução.

Primeiro, crie um novo banco de dados mydb e uma nova tabela event_logs :

CREATE DATABASE IF NOT EXISTS mydb;

USE mydb;

CREATE TABLE IF NOT EXISTS event_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    message VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, crie um evento chamado log_writterque grave uma mensagem na event_logstabela a cada segundo a partir do carimbo de data/hora atual dentro de uma hora:

CREATE EVENT log_writter
ON SCHEDULE EVERY 1 SECOND
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
   INSERT INTO event_logs(message) 
   VALUES (CONCAT('Event executed at ',NOW()));Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo:

  • log_writer é o nome do evento.
  • O evento está programado para ser executado a cada segundo dentro de uma hora a partir do carimbo de data/hora atual
  • O evento insere uma mensagem na event_logstabela.

Terceiro, mostre o evento para confirmar se ele foi criado com sucesso:

SHOW EVENTS\GLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

*************************** 1. row ***************************
                  Db: mydb
                Name: log_writter
             Definer: root@localhost
           Time zone: SYSTEM
                Type: RECURRING
          Execute at: NULL
      Interval value: 1
      Interval field: SECOND
              Starts: 2024-01-05 13:55:55
                Ends: 2024-01-05 14:55:55
              Status: ENABLED
          Originator: 1
character_set_client: cp850
collation_connection: cp850_general_ci
  Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.00 sec)Linguagem de código:  CSS  ( css )

Terceiro, remova o log_writterevento usando a DROP EVENTinstrução:

DROP EVENT IF EXISTS log_writter;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, verifique a remoção do evento exibindo a lista de eventos:

SHOW EVENTS;

Saída:

Empty set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

A saída indica que o evento foi removido com sucesso.

Resumo

  • Use DROP EVENTa instrução MySQL para remover um evento do banco de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *