2

我正在使用 MySQL 5.5.27-log 运行 EasyPHP 5.4.6。

当我尝试使用以下内容创建临时表时:

CREATE TEMPORARY TABLE temp_table (x int);

我收到以下错误:

ERROR 1005 (HY000): Can't create table 'temp_table' (errno: 22)

但是,如果我删除“临时”,它会起作用。

临时表的语法是从示例页面逐字复制的。我尝试用谷歌搜索错误号,但没有产生任何我可以使用的东西。

谁能想到会发生什么?

4

2 回答 2

1

errno: 22 表示 MySQL 正在尝试访问具有无效路径 (fopen -> INVAL) 的文件。MySQL 不太可能生成无效路径,因此请检查您的临时路径是否设置正确。如果您在 MySQL 配置中有自定义设置 tmpdir,请确保它是有效路径。SHOW VARIABLES LIKE '%tmp%'如果不是,请使用;检查当前值 如果某些内容不正确或缺失,请检查系统的 TEMP 环境变量是否设置正确。有关更多信息,请查看http://dev.mysql.com/doc/refman/5.5/en/temporary-files.html

于 2012-11-29T22:29:48.063 回答
0

确保您使用的用户已create_tmp_table_priv授予权限(user数据库表mysql

于 2012-11-29T22:15:43.047 回答