我在MySQL中建立了一个函数,可以通过将其他查询结果注入临时表来查询一些数据。
我的问题是,一旦我使用MySQL连接器运行了我的函数,是否可以查询所述Temporary表?
我问这个问题的原因是,当从python中运行一个简单的查询时:
query = ("SELECT data FROM mytemporarytable")
cursor.execute(query)
cursor_buff = cursor.fetchall()
我得到以下错误:
mysql.connecter.errors.ProgrammingError:1146(42S02(:表"mydatabase.memporarytable"不存在
非常感谢您!
一个临时表只能在一个会话中访问,只要你没有在其中创建它,你就不能在单词后访问它。
因此,不使用函数,而是使用它的存储过程
并以结束
CREATE PROCEDURE procedure_name(parameter_list)
BEGIN
CREATE TEMPORARY TABLE mytemporarytable SELECT * FROM orig_tbl LIMIT 0;
SELECT data FROM mytemporarytable;
END
然后
按照这里的说明使用简历集https://stackoverflow.com/a/15320433/5193536