我在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'不存在” 关于这里有什么问题的任何线索?
答案 0 :(得分:2)
当前PhpMyAdmin查询仅存在临时表,因为它会在执行查询后关闭数据库会话。如果您分别执行这两个查询,那么您将收到此错误,因为MySQL数据库将在第一个查询完成执行后立即删除临时表。
这是什么原因?
原因是您可以创建创建这些临时表的函数或过程而不会堵塞数据库,因为一旦函数或过程执行完毕,它们将自动删除。
解决方案是在一个查询中执行所有操作,或者只使用普通表。
答案 1 :(得分:0)
我一直在为你的问题寻找答案,显然,这是某种错误。
您需要删除表,重新启动MySQL服务并重新构建表。
OR
您可以重命名该表格。
(这为其他许多人修好了。)
来源:
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的examples文件夹中导入“create_tables.sql” SRC: Source - Table-Doesn't-Exist