我正在尝试在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;发布于 2019-02-09 09:11:16
在MySQL中,触发器中不允许使用动态SQL。
SQL prepared语句(
PREPARE、EXECUTE、DEALLOCATE PREPARE)可以在存储过程中使用,但不能在存储函数或触发器中使用。因此,SQL存储函数和触发器不能使用动态(在这种情况下,将语句构造为字符串,然后执行它们)。
你实际上应该得到一个错误:
#1336 -存储函数或触发器
中不允许使用动态SQL
https://stackoverflow.com/questions/54601755
复制相似问题