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)
DELIMITER不是MySQL服务器的一部分,它是MySQL命令行客户端的一部分。该功能在驱动程序中不可用。
来源:https ://github.com/mysqljs/mysql/issues/280#issuecomment-8081626