MySQL - 临时表中未定义的列

时间:2014-07-23 12:43:16

标签: mysql

我创建了一个存储过程,以便将两个给定日期之间的日期列表放入临时表中。该临时表应该有2列:int类型的id和date类型的日期。问题是在输出中我只得到day列,id列未定义。 我做错了什么?

DELIMITER $$    
CREATE DEFINER=`root`@`localhost` PROCEDURE `days`(IN dateStart DATE, IN dateEnd DATE)
BEGIN

    CREATE TEMPORARY TABLE IF NOT EXISTS date_range (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, day DATE);

    Delete from date_range;

    WHILE dateStart <= dateEnd DO
      INSERT INTO date_range(day) VALUES (dateStart);
      SET dateStart = DATE_ADD(dateStart, INTERVAL 1 DAY);
    END WHILE;
END

这是存储过程的调用和输出: enter image description here

1 个答案:

答案 0 :(得分:1)

删除存储过程之后,创建一个与删除的存储过程同名的新存储过程,需要重新启动MySql工作台。重启环境解决了我的问题。