使用临时表时出现mysql错误 - “无法重新打开表:'temporary_name”

时间:2011-08-05 08:34:15

标签: python mysql

我正在使用python调用存储过程来创建临时表

然后我尝试从该表中进行选择,但我收到了错误

Caught an exception while rendering: (1137, "Can't reopen table: 'temporary_name'")

任何人都可以看到我出错的地方

我的代码是

# create a cursor  
cur = connection.cursor()  
# execute the stored procedure   
cur.callproc('nodetree')  

# Get results from stored procedure
sql = "SELECT * FROM temporary_name"

cur.execute(sql)

该表未被称为temporary_name我只是将其放入例如

2 个答案:

答案 0 :(得分:0)

来自MySQL documentation(参见粗体文字):

  

您不能在同一查询中多次引用TEMPORARY表。例如,以下内容不起作用:

mysql> SELECT * FROM temp_table, temp_table AS t2;
ERROR 1137: Can't reopen table: 'temp_table'
     

如果在不同别名下的存储函数中多次引用临时表,也会发生此错误,即使引用发生在函数内的不同语句中也是如此。

答案 1 :(得分:0)

您可以使用常规表并将其删除。