mysql - 如何修复 #2014 - 命令不同步;从控制台运行存储过程
问题描述
我想用一个存储过程在 MySQL 中将 3 个表连接在一起并将它们联合起来。
我已经检查了语法错误或错误名称的所有代码和参数,但我找不到它们。
存储过程: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.
解决方案
推荐阅读
- android-studio - 如何在 Android Studio 中完全重命名项目
- python-3.x - 无法导入scrapy
- javascript - 不允许添加定义以外的值。MongoDB
- javascript - 将音频元素与类进行比较
- python - 如何解决 Python 中的 RoboBrowser 导入错误?
- python - python安装失败
- node.js - MongoDB - 保存子类别详细信息
- python - 内部 While 循环只运行一次 - Python
- python - 电子邮件转发:Python AWS lambda 函数产生错误的 FROM 地址
- android-studio - JNI“未定义的引用”对 C++ 方法