Как исправить # 2014 - Команды не синхронизированы; при запуске хранимой процедуры из консоли - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу объединить 3 таблицы в MySQL с помощью хранимой процедуры и объединить их.

Я уже проверил весь код и параметры синтаксической ошибки или неправильных имен, но не могу их найти.

Хранимая процедура: GetOpenOrderFromUser ()

DELIMITER $$
CREATE DEFINER=`present`@`%` PROCEDURE `GetOpenOrderFromUser`(IN `UserIDParam` INT)
    READS SQL DATA
BEGIN
DECLARE OrderIDParam INT DEFAULT 0;

SELECT OrderID INTO OrderIDParam FROM _newapp_shop_orders WHERE UserID = UserIDParam AND Status = 'Open';

SELECT 'events' as Type,
                Id,
                Foto,
                Video,
                Titel,
                Omschrijving,
                Datum_Begin,
                Datum_Eind,
                Win,
                Bovenaan,
                Lat,
                Lng,
                _newapp_shop_order_items.OrderID,
                _newapp_shop_order_items.Amount,
                _newapp_shop_products_events.CategoryID,
                _newapp_shop_products_events.Price,
                _newapp_shop_products_events.DiscountPercent
 FROM ((Events
  INNER JOIN _newapp_shop_products_events ON Events.Id = _newapp_shop_products_events.EventID)
   INNER JOIN _newapp_shop_order_items ON Events.Id = _newapp_shop_order_items.EventID)
    WHERE _newapp_shop_order_items.OrderID = OrderIDParam
    UNION ALL
SELECT 'activities' as Type,
                Id,
                Foto,
                Video,
                Naam as 'Titel',
                Omschrijving,
                Datum_begin,
                Datum_eind,
                Win,
                Bovenaan,
                Lat,
                Lng,
                _newapp_shop_order_items.OrderID,
                _newapp_shop_order_items.Amount,
                _newapp_shop_products_activitys.CategoryID,
                _newapp_shop_products_activitys.Price,
                _newapp_shop_products_activitys.DiscountPercent
 FROM ((Activiteiten
  INNER JOIN _newapp_shop_products_activitys ON Activiteiten.Id = _newapp_shop_products_activitys.ActivityID) 
   INNER JOIN _newapp_shop_order_items ON Activiteiten.Id = _newapp_shop_order_items.ActivityID)
    WHERE _newapp_shop_order_items.OrderID = OrderIDParam;
END$$
DELIMITER ;

Хранимая процедура иногда работает, когда я запускаю ее из phpmyadmin, она работает, но из кода и терминала mysql выдает эту ошибку:

Expression missing. (near "ON" at position 25)

SET FOREIGN_KEY_CHECKS = ON;

#2014 - Commands out of sync; you can't run this command now.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...