【问题标题】:Undefined variable o未定义的变量
【发布时间】:2015-06-01 14:00:00
【问题描述】:

我正在尝试在 MySQL 中创建一个过程。这是身体:

BEGIN

DECLARE _date_delivered datetime;
DECLARE _date_last_comment datetime;
DECLARE _buyer_id int;
DECLARE _date_finish_line datetime;

   SELECT o.date_delivered INTO _date_delivered,o.buyer_id INTO _buyer_id, h.date INTO 
       _date_las_comment, DATE_ADD( h.date, INTERVAL _hours HOUR ) 
       INTO _date_finish_line 
   FROM wpk9_kk_order o 
   LEFT JOIN 
       wpk9_kk_order_history h ON 
       o.order_id = h.order_id WHERE o.order_id = _order_id AND h.user_id = o.buyer_id 
   ORDER BY h.date DESC;

   select _date_delivered,_buyer_id, _date_last_comment, _date_finish_line;
END

但是当我保存它时,我得到了这个错误:

处理您的请求时出现一个或多个错误:

以下查询失败:“CREATE DEFINER=root@localhost PROCEDURE getAutoFinishTimeRemaining(IN _order_id INT, IN _hours INT) NOT DETERMINISTIC READS SQL DATA SQL SECURITY DEFINER BEGIN DECLARE _date_delivered datetime; DECLARE _date_last_comment datetime; DECLARE _buyer_id int; DECLARE _date_finish_line日期时间;选择 o.date_delivered INTO _date_delivered, o.buyer_id INTO _buyer_id, h.date INTO _date_las_comment, DATE_ADD( h.date, INTERVAL _hours HOUR ) INTO _date_finish_line 从 wpk9_kk_order o LEFT JOIN wpk9_kk_order_history h ON o.order_id = h.order_id .order_id = _order_id AND h.user_id = o.buyer_id ORDER BY h.date DESC;选择 _date_delivered、_buyer_id、_date_last_comment、_date_finish_line;END"

MySQL 说:#1327 - 未声明的变量:o

【问题讨论】:

  • FROM 语句中存在问题(无效语法):FROM wpk9_kk_order o
  • 检查您的_date_last_comment 列。在选择语句中写入_date_last_comment 列时有错字。你写了_date_las_comment(在错误信息中也很明显)。

标签: mysql


【解决方案1】:

检查您的_date_last_comment 列。在选择语句中写入_date_last_comment 列时有错字。你写了_date_las_comment(在错误信息中也很明显)。

你的程序应该是:

BEGIN

DECLARE _date_delivered datetime;
DECLARE _date_last_comment datetime;
DECLARE _buyer_id int;
DECLARE _date_finish_line datetime;

   SELECT o.date_delivered INTO _date_delivered,o.buyer_id INTO _buyer_id, h.date INTO 
       _date_last_comment, DATE_ADD( h.date, INTERVAL _hours HOUR ) 
       INTO _date_finish_line 
   FROM wpk9_kk_order o 
   LEFT JOIN 
       wpk9_kk_order_history h ON 
       o.order_id = h.order_id WHERE o.order_id = _order_id AND h.user_id = o.buyer_id 
   ORDER BY h.date DESC;

   select _date_delivered,_buyer_id, _date_last_comment, _date_finish_line;
END

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2012-09-24
    • 2018-04-21
    相关资源
    最近更新 更多