【问题标题】:Issue to execute mysql stored procedure file in phpmyadmin在 phpmyadmin 中执行 mysql 存储过程文件的问题
【发布时间】:2016-06-03 11:48:09
【问题描述】:

在 phpmyadmin 中运行脚本时,我在 mySQL 中有一个存储过程,它给出了语法错误。手动创建时执行。任何帮助将不胜感激

当我通过SQL Query 运行时显示错误,当我手动执行 phpmyadmin 存储过程函数时它会创建它

CREATE PROCEDURE `sp_ConsolidatedFollowFeedUserList`(
 _uid INT,
 _startTime INT,
 _endTime INT,
 _activityType VARCHAR(150),
 `_follow_to` INT,
 `_offset` INT,
 `_limit` INT
)
BEGIN

 SELECT
  feed.id `feed_id`,
  activity.id ` activity_id`,
  activity.uid AS `uid`,
  activity.source_id AS follow_to,
  activity.activity_type,
  activity.source_id,
  activity.parent_id,
  activity.parent_type,
  activity.post_id
 FROM
  `user_feed` feed
 JOIN user_activity activity ON feed.activity_id = activity.id
 WHERE
  feed.uid = _uid
  AND feed.`status` = 'ACTIVE'
  AND activity.`status` = 'ACTIVE'
  AND activity.activity_type IN(_activityType)
  AND activity.created BETWEEN startTime AND endTime
  AND activity.source_id = _follow_to
 ORDER BY
  activity.created DESC
 LIMIT 
  offset, limit;

END

【问题讨论】:

  • 如果您不与我们分享任何详细信息,您究竟希望得到什么帮助?
  • 您确定您的实时服务器允许执行存储过程吗?
  • @Shadow 一个简单的存储过程 sql 文件在本地运行良好,但在托管环境中运行良好
  • @SuperPeanut 如何识别实时服务器phpmyadmin允许存储过程sql查询
  • 我不知道...它是来自第三家公司的托管服务吗?如果是,请询问他们。它是在您的建筑物上运行的服务器吗?如果是,请查看有关您的服务器版本的手册。 SO不会变魔术,我不知道你的基础设施......

标签: mysql database phpmyadmin


【解决方案1】:

如果您的存储过程在文件中,则不需要 `` 来保护列字段。那么你的参数名称必须完全匹配 offset 不匹配 _offset

CREATE PROCEDURE `sp_ConsolidatedFollowFeedUserList`(
     _uid INT,
     _startTime INT,
     _endTime INT,
     _activityType VARCHAR(150),
     _follow_to INT,
     _offset INT,
     _limit INT)

BEGIN

 SELECT
  feed.id AS feed_id,
  activity.id AS activity_id,
  activity.uid AS uid,
  activity.source_id AS follow_to,
  activity.activity_type,
  activity.source_id,
  activity.parent_id,
  activity.parent_type,
  activity.post_id

 FROM
  user_feed AS feed
  JOIN user_activity activity ON feed.activity_id = activity.id
 WHERE
  feed.uid = _uid
  AND feed.status = 'ACTIVE'
  AND activity.status = 'ACTIVE'
  AND activity.activity_type IN (_activityType)
  AND activity.created BETWEEN _startTime AND _endTime
  AND activity.source_id = _follow_to
 ORDER BY activity.created DESC
 LIMIT _offset, _limit;

END

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-08
    • 2018-06-22
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2014-09-29
    • 2012-05-22
    • 2022-01-13
    相关资源
    最近更新 更多