0

我有 Mysql 5.5 我创建了一个存储过程

CREATE DEFINER=`root`@`%` PROCEDURE `refresh_mobileTemp`() 
BEGIN
DROP TABLE IF EXISTS mobileTemp;
CREATE TEMPORARY TABLE  mobileTemp AS 
(SELECT distinct
...
 );

END

跑步

call refresh_mobileTemp();

临时表已创建。

然后我删除了临时表并创建了一个事件:

CREATE  EVENT `schedulerMobileTemp` 
 ON SCHEDULE every 10 SECOND
 ON COMPLETION PRESERVE ENABLE
DO 
  CALL refresh_mobileTemp();

进程列表中每 10 秒出现一个创建临时表的进程, 在此处输入图像描述但如果我调用select * from mobileTemp它返回:错误代码:1146。表“mobileTemp”不存在

我错过了什么?

提前致谢

4

1 回答 1

3

如手册中所述

TEMPORARY 表仅对当前会话可见,并在会话关闭时自动删除。

这意味着临时表仅在创建它的事件中可见和可用。

于 2017-04-11T09:36:10.410 回答