2015-05-13 5 views
0

Я бегу следующий SQL-запрос:не может создать хранимую процедуру с sequelize

Executing (default): DROP PROCEDURE IF EXISTS x; 

DELIMITER $$ 
CREATE PROCEDURE x() 
BEGIN 
    # do something 
END $$ 
DELIMITER; $$ 

Как так:

sequelize.query(query, { 
    type: sequelize.QueryTypes.SELECT 
}); 

Но я получаю эту ошибку (даже если он работает нормально, если я использую любой другой SQL-клиент):

SequelizeDatabaseError: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$

CREATE PROCEDURE x()

BEGIN

Я уже добавил multipleStatements = true к моей связи конфигурации, но это не делает Делать что-нибудь.

+0

Вы добавили 'multipleStatements' в' sequelize.options.dialectOptions'? –

+0

@JanAagaardMeier У меня есть, и я даже добавил чек на мой mysql/lib/ConnectionConfig.js и проверял, что 'options.multipleStatements' на самом деле истинно. Однако позже я понял, что он отлично работает на машине друга, поэтому я предполагаю, что это ошибка в моем соединителе MySQL. Сообщите, когда у меня есть обновления ... – Domi

+0

@ Domi, Любое дальнейшее обновление? – huangchang

ответ

0

Ваша ошибка на самом деле в последней строке. Выньте $$ после DELIMITER; Заявление: «DELIMITER;» сбрасывает разделитель на ";" $$ после этого смущает синтаксический анализатор.

Смежные вопросы