MySQL ошибка 1064 при создании триггера: синтаксическая ошибка рядом с 'End'MySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 MySQL ошибка 1064 при создании триггера: синтаксическая ошибка рядом с 'End'

Сообщение Anonymous »

Я пытаюсь создать триггеры в MySQL, используя следующий код. Триггеры предназначены для проверки авторизации устройства перед вставками или обновлениями. SQL PrettyPrint-Override ">

Код: Выделить всё

DELIMITER $$

CREATE TRIGGER trg_buckets_before_insert
BEFORE INSERT ON Buckets
FOR EACH ROW
BEGIN
DECLARE auth_status TINYINT;
SELECT is_authorized INTO auth_status
FROM Devices
WHERE device_id = @CURRENT_DEVICE;

IF auth_status = 0 OR auth_status IS NULL THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Device not authorized';
END IF;
END$$

DELIMITER ;
< /code>
Однако, когда я выполняю код, я получаю следующие ошибки: < /p>
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END$$
DELIMITER ;' at line X
Я также столкнулся с проблемами с операторами Declarate и командами сигнала , с ошибками, такими как:
Error executing statement: DECLARE auth_status TINYINT
Error executing statement: END$$
Error: 1064 (42000): You have an error in your SQL syntax.
< /code>
Я использую MySQL версию 8.0.29, и я проверил запуск операторов через DBEAVER. И как я могу правильно создать триггеры без этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/794 ... r-near-end
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»