我在phpMyAdmin中输入以下内容:
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中输入以下语句:
INSERT INTO test_table
(item1, item2, item3, item4)
VALUES
('lentils', 99.00, 82, 8);我收到了;"#1146 -表'mydatabase.test_table‘不存在“,这里有什么问题的线索吗?
发布于 2014-02-16 18:01:18
临时表仅存在于当前PhpMyAdmin查询,因为查询执行后,临时表将关闭数据库会话。如果您分别执行这两个查询,那么您将收到此错误,因为MySQL数据库将在第一个查询执行完毕后立即删除临时表。
这是什么原因呢?
这样做的原因是,您可以创建函数或过程来创建这些临时表,而不会阻塞数据库,因为一旦函数或过程执行完毕,它们将被自动删除。
解决方案是在一个查询中执行所有操作,或者只使用普通的表。
发布于 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
https://stackoverflow.com/questions/20745555
复制相似问题