首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建触发器时进程错误

问创建触发器时进程错误
EN

Stack Overflow用户
提问于 2019-02-09 07:46:33
回答 1查看 40关注 0票数 1

我正在尝试在phpmyadmin中创建触发器,但收到错误

当我在SQL终端中运行这个查询时,它工作得很好。但是在触发器创建过程中,我得到了错误的进程,查询失败了。

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

发布于 2019-02-09 09:11:16

在MySQL中,触发器中不允许使用动态SQL。

来自the documentation:

SQL prepared语句(PREPARE、EXECUTE、DEALLOCATE PREPARE)可以在存储过程中使用,但不能在存储函数或触发器中使用。因此,SQL存储函数和触发器不能使用动态(在这种情况下,将语句构造为字符串,然后执行它们)。

你实际上应该得到一个错误:

#1336 -存储函数或触发器

中不允许使用动态SQL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54601755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档