Mysql事件运行但不“停留”

时间:2017-04-11 09:32:53

标签: mysql stored-procedures mysql-event

我有Mysql 5.5 我创建了一个storred过程

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秒就会出现一个创建临时表的进程 enter image description here但是如果我调用select * from mobileTemp它会返回:错误代码:1146。表'mobileTemp'不存在

我缺少什么?

提前致谢

1 个答案:

答案 0 :(得分:3)

As explained in the manual

  

TEMPORARY表仅对当前会话可见,并且是   会话结束时自动删除。

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