Плохой процесс при создании триггера - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь создать триггер в моем phpmyadmin, но я получаю ошибку

, когда я запускаю этот запрос в терминале SQL, он работает нормально.но при создании триггера я получаю ошибку сбойных процессов и запрос не выполнен.

set @sql = CONCAT(
    "SELECT * INTO OUTFILE 'C:/database/",DATE_FORMAT(NOW(), '%m-%Y'),
    ".csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '""' LINES TERMINATED BY '\r\n ' FROM weekevents"
);

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

1 Ответ

0 голосов
/ 09 февраля 2019

В MySQL динамический SQL не разрешен в триггерах.

С документация :

Подготовленные операторы SQL (PREPARE, EXECUTE, DEALLOCATE PREPARE) может использоваться в хранимых процедурах, но не в хранимых функциях или триггерах.Таким образом, хранимые функции и триггеры не могут использовать динамический SQL (где вы строите операторы как строки, а затем выполняете их).

На самом деле вы должны получить ошибку:

# 1336 - Динамический SQL недопустим в хранимой функции или триггере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...