【发布时间】:2016-08-19 02:24:34
【问题描述】:
谁能告诉我为什么这段代码...
DROP TEMPORARY TABLE IF EXISTS parent;
CREATE TEMPORARY TABLE parent (id INT);
INSERT INTO parent VALUES (1);
SELECT * FROM parent;
DROP TEMPORARY TABLE parent;
导致此错误(在 SELECT 行上)...
Table 'sarumcom_cypo.parent' doesn't exist
'sarumcom_cypo' 是我的数据库。我已经尝试过这段代码的变体:有和没有单词 TEMPORARY,以“USE sarumcom_cypo”行开头,使用不同的表名,并且数据库名称作为对父级的所有引用的前缀。在所有情况下,我都会收到错误。
如果我删除 SELECT,则没有错误。 INSERT 报告“#1 行受影响”,最终 DROP 报告“# MySQL 返回了一个空结果集(即零行)”。
我正在使用 phpMyAdmin 来运行此代码。
【问题讨论】:
-
请参阅stackoverflow.com/q/14426401 并考虑使用 phpmyadmin 进行测试的不同策略。比如一个存储过程或者你真正的 php 程序。
-
感谢@Drew,您的 cmets 是否建议您认为 phpMyAdmin 环境有些不可靠?当我在一个客户端会话中将所有语句作为脚本运行时,数据库连接应该仍然存在,并且在执行 SELECT 时临时表应该仍然存在。
-
这样说是不公平的。但我可以说我不会用它来编程。当然,有时在托管环境中通常没有什么选择。我似乎确实认为您的连接已经消失,并且温度下降了。
标签: mysql phpmyadmin temporary