【问题标题】:MYSQL error on a simple SELECT简单 SELECT 上的 MYSQL 错误
【发布时间】: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


【解决方案1】:

当前客户端会话终止时,临时表将被删除。

【讨论】:

  • 感谢@Ashok,但我在一个会话中运行整个脚本。
猜你喜欢
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2011-07-07
相关资源
最近更新 更多