首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用临时表时出现问题

使用临时表时出现问题
EN

Stack Overflow用户
提问于 2013-12-23 22:29:59
回答 2查看 1.9K关注 0票数 3

我在phpMyAdmin中输入以下内容:

代码语言:javascript
复制
CREATE TEMPORARY TABLE test_table (
 item1 VARCHAR(50) NOT NULL
 , item2 DECIMAL(12,2) NOT NULL DEFAULT 0.00
 , item3 DECIMAL(7,2) NOT NULL DEFAULT 0.00
 , item4 INT UNSIGNED NOT NULL DEFAULT 0);

表创建成功。

然后,我还在phpMyAdmin中输入以下语句:

代码语言:javascript
复制
INSERT INTO test_table
 (item1, item2, item3, item4)
 VALUES
 ('lentils', 99.00, 82, 8);

我收到了;"#1146 -表'mydatabase.test_table‘不存在“,这里有什么问题的线索吗?

EN

回答 2

Stack Overflow用户

发布于 2014-02-16 18:01:18

临时表仅存在于当前PhpMyAdmin查询,因为查询执行后,临时表将关闭数据库会话。如果您分别执行这两个查询,那么您将收到此错误,因为MySQL数据库将在第一个查询执行完毕后立即删除临时表。

这是什么原因呢?

这样做的原因是,您可以创建函数或过程来创建这些临时表,而不会阻塞数据库,因为一旦函数或过程执行完毕,它们将被自动删除。

解决方案是在一个查询中执行所有操作,或者只使用普通的表。

票数 2
EN

Stack Overflow用户

发布于 2013-12-23 22:38:03

我一直在寻找你的问题的答案,很明显,这是某种bug。

您需要删除表,重新启动MySQL服务,然后重新构建表。

您可以重命名该表。

(这解决了许多其他问题。)

资料来源:

Bug? #1146 - Table 'xxx.xxxxx' doesn't exist

SQL - AS - table doesn't exist - 1146

http://bytes.com/topic/mysql/answers/706253-table-doesnt-exist-but-im-sure-does

http://mysql-tools.com/articles/mysql/48-table-mysqlproc-doesnt-exist.html

http://ubuntuforums.org/showthread.php?t=2095602

编辑:

可能是你的MySQL版本“过时”了。请尝试更新。

如果您的数据库位于PhpMyAdmin中,请使用phpMyAdmin从phpMyAdmin SRC: Source - Table-Doesn't-Exist 的examples文件夹中导入“create_tables.sql

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20745555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档