无法使用sequelize 创建存储过程

Dom*_*omi 2 javascript mysql stored-procedures sequelize.js

我正在运行以下 SQL 查询:

Executing (default): DROP PROCEDURE IF EXISTS x;

DELIMITER $$
CREATE PROCEDURE x()
BEGIN
    # do something
END $$
DELIMITER; $$
Run Code Online (Sandbox Code Playgroud)

就像这样:

sequelize.query(query, {
    type: sequelize.QueryTypes.SELECT
});
Run Code Online (Sandbox Code Playgroud)

但我收到此错误(即使它工作得很好,如果我使用任何其他 SQL 客户端):

SequelizeDatabaseError:ER_PARSE_ERROR:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'DELIMITER $$ 附近使用的正确语法

创建过程 x()

开始

我已经添加multipleStatements = true到我的连接配置中,但它没有执行任何操作。

更新

我最终使用了RAW类似的方法:

sequelize.query(query, {
    type: sequelize.QueryTypes.RAW
});
Run Code Online (Sandbox Code Playgroud)

Edu*_*omo 5

DELIMITER不是MySQL服务器的一部分,它是MySQL命令行客户端的一部分。该功能在驱动程序中不可用。

来源:https ://github.com/mysqljs/mysql/issues/280#issuecomment-8081626