我正在使用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)
但是,如果我删除“TEMPORARY”,它就会起作用。
临时表的语法是从示例页面逐字复制的。我尝试使用谷歌搜索错误号码,但这并没有产生任何我可以使用的东西。
有人能想到可能会发生什么吗?
答案 0 :(得分:1)
错误:22表示MySQL正在尝试访问路径无效的文件(fopen - > INVAL)。 MySQL不太可能生成无效路径,因此请检查您的临时路径是否设置正确。如果在MySQL配置中有自定义设置tmpdir,请确保它是有效路径。如果没有,请使用SHOW VARIABLES LIKE '%tmp%'
检查当前值;如果某些内容不正确或缺失,请检查系统的TEMP环境变量是否设置正确。有关详情,请查看http://dev.mysql.com/doc/refman/5.5/en/temporary-files.html。
答案 1 :(得分:0)
确保您使用的用户已授予create_tmp_table_priv
privelege(user
数据库的表mysql
)