MySQL-临时表中未定义的列

MySQL-临时表中未定义的列,mysql,Mysql,我创建了一个存储过程,将两个给定日期之间的日期列表保存到一个临时表中。该临时表应该有两列:int类型的id和date类型的day。问题是在输出时我只得到day列,id列未定义。 我做错了什么 DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `days`(IN dateStart DATE, IN dateEnd DATE) BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS da

我创建了一个存储过程,将两个给定日期之间的日期列表保存到一个临时表中。该临时表应该有两列:int类型的id和date类型的day。问题是在输出时我只得到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
分隔符$$
CREATE DEFINER=`root`@`localhost`PROCEDURE`days`(在dateStart日期中,在dateEnd日期中)
开始
如果不存在日期范围,则创建临时表(id整数非空自动增量主键,日期);
从日期范围中删除;

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

您在程序结束时没有选择任何内容吗?@juergend no。我这样调用程序:
调用天数('2014-07-01','2014-07-31');选择*自日期\范围
@juergend我通过添加一个带有存储过程输出的屏幕来更新问题的描述。id列不见了。是的,我知道了。但当我在我的电脑上测试它时,它并没有丢失environment@juergend看来重启环境解决了问题。