【发布时间】:2014-12-16 02:19:39
【问题描述】:
我正在尝试创建一个临时表
CREATE TEMPORARY TABLE `test_table` (
`test` DATE NOT NULL
);
即使我尝试其他模式,我也会收到以下错误
Can't create table 'db.test_table' (errno: -1)
我尝试用谷歌搜索 -1 错误,但没有成功。
【问题讨论】:
-
你有创建表的权限吗?尝试修改现有表。
-
好的,我们可以排除“CREATE TEMPORARY TABLES privilege”问题。您是否使用“apparmor”或其他可能影响 MySQL 行为的安全软件?
-
我想我明白了。你必须明确地说 ENGINE=MEMORY;
-
嗯,奇怪。我认为这个查询应该在不指定 ENGINE 的情况下工作。因为如果没有指定引擎,MySQL 将使用默认引擎 (MyISAM)。不管怎样,很高兴你知道了..
-
您不应仅限于临时表的 MEMORY 引擎。我猜你已经更改了 tmpdir 并且 selinux/apparmor 不允许 mysqld 在新位置创建文件。
标签: mysql temp-tables create-table derived-table