【问题标题】:Temporary table doesn't exist error临时表不存在错误
【发布时间】:2025-11-30 14:00:01
【问题描述】:

无法使用临时表调用存储过程:

DELIMITER $$
DROP PROCEDURE IF EXISTS `summary_daily_reports`$$
CREATE PROCEDURE  `summary_daily_reports`()
BEGIN

DROP TEMPORARY TABLE IF EXISTS `both_daily_repots`;

CREATE TEMPORARY TABLE both_daily_repots(
       `date`        VARCHAR(10),
       balance         DOUBLE,
       balance_ua         DOUBLE
       ) DEFAULT CHAR SET utf8;



INSERT INTO both_daily_reports VALUES ('2012-01-01',0,0);

SELECT * FROM both_daily_repots;

END $$

然后我调用程序并得到错误“表'report_cfd.both_daily_reports'不存在”;

【问题讨论】:

  • 您可能希望修正 DROP 和 CREATE 表名中的拼写错误

标签: mysql sql stored-procedures temp-tables


【解决方案1】:

在某些地方,您将表名拼写为both_daily_repots 而不是both_daily_reports。这就是导致错误的原因。

会发生什么:

  • DROP TABLECREATE TABLESELECTrepots 上运行(没有 r);
  • INSERT 尝试插入 reports(使用 r)但失败了。

【讨论】:

最近更新 更多