mysql使用临时表,出现异常:

ERROR 1137 (HY000): Can't reopen table: 'tmp_query_group'

查了官方资料,发现:

C.5.7.2. TEMPORARY Table Problems

The following list indicates limitations on the use of TEMPORARY tables:

• A TEMPORARY table can only be of type MEMORY, MyISAM, MERGE, or InnoDB. Temporary tables are not supported for MySQL Cluster.

• You cannot refer to a TEMPORARY table more than once in the same query. For example, the following does not work:

mysql> SELECT * FROM temp_table, temp_table AS t2;

ERROR 1137: Can't reopen table: 'temp_table'

This error also occurs if you refer to a temporary table multiple times in a stored function under different aliases, even if the references occur in different statements within the function.

• The SHOW TABLES statement does not list TEMPORARY tables.

• You cannot use RENAME to rename a TEMPORARY table. However, you can use ALTER TABLE instead:

mysql> ALTER TABLE orig_name RENAME new_name;

根据经验,解决方案可考虑两个:

1.他人说使用memory 存储引擎:

create temporary table ...  engine=memory  select ....

但是,仍然解决不了类似下面的问题:

insert into temp_table_name (col1,col2) select col1,col2 from temp_table_name where ....

2.为了解决上面的问题,可以考虑使用多个临时表。

既然子查询中不能再次打开临时表,那么就使用其他临时表 先把子查询的数据存起来,然后再处理。(百试不爽)[出现该问题是因为复制数据权限或属主设置问题用chmod或chown更改重启mysql方可生效 今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态:mysql> show slave s

下面几点是临时表的限制:

1、临时表只能用在 memory,myisam,merge,或者innodb

2、临时表不支持mysql cluster(簇)

3、在同一个query语句中,你只能查找一次临时表。

例如:

下面的就不可用

mysql> SELECT * FROM temp_table, temp_table AS t2;  www.2cto.com       ERROR 1137: Can't reopen table: 'temp_table'

如果在一个存储函数里,你用不同的别名查找一个临时表多次,或者在这个存储函数里用不同的语句查找,这个错误都会发生。

4、show tables 语句不会列举临时表     你不能用rename来重命名一个临时表。但是,你可以alter table代替:

>ALTER TABLE orig_name RENAME new_name;

临时表用完后要记得drop掉:

DROP TEMPORARY TABLE IF EXISTS sp_output_tmp;

原文链接:

http://blog.csdn.net/naxiwer/article/details/8138407

http://www.dedecms.com/knowledge/data-base/mysql/2012/0819/6959.html

[  错误信息:ERROR 2002 (HY000): Cant connect to local MySQL server through socket /var/lib/mysql/mysql.sock (11]

mysql error 1137_遇到的错误-----MySQL使用临时表 出现 “ERROR 1137 (HY000): Can't reopen table” 的异常 解决方法...相关推荐

  1. 绝地求生登录计算机需要授权,绝地求生国服第三方授权登录异常解决方法 绝地求生国服授权登录错误怎么办...

    近日,Steam第三方授权登录发生异常,导致所有需要Steam账号绑定登录的网站都出现登录错误,下面就为大家带来绝地求生国服第三方授权登录异常解决方法. 绝地求生国服第三方授权登录异常解决方法 老兵登 ...

  2. Django链接Mysql 8.0 出现错误(1045:Access denied for user ‘root‘@‘localhost‘ (using password: NO) 的一种解决方法

    Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法 参 ...

  3. mysql 使用service mysqld start 提示未识别服务 进入/etc/rc.d/init.d 下面未发现有mysqld解决方法

    mysql 使用service mysqld start 提示未识别服务 进入/etc/rc.d/init.d 下面未发现有mysqld解决方法 参考文章: (1)mysql 使用service my ...

  4. Can't connect to MySQL server (10060)异常解决方法

    Can't connect to MySQL server (10060)异常解决方法 出现这种现象的原因有两个,一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被被防火墙禁掉,无法连 ...

  5. 控制服务器信息不存在或已删除,错误1075:依存服务不存在, 或已标记为删除的解决方法...

    错误1075:依存服务不存在, 或已标记为删除的解决方法 2020年09月09日 | 萬仟网科技 | 我要评论 错误1075:依存服务不存在, 或已标记为删除的解决方法今天帮客户配置服务器的时候,启动 ...

  6. 错误:Script file ‘D:\software_install\Anaconda_install\Scripts\pip-script.py‘ is not present.完美解决方法

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 错误:Script file 'D:\software_install\Anaconda_install\Scripts ...

  7. error LNK2005: “找到一个或多个多重定义的符号” 已经在 xxxx.obj 中定义 的解决方法

    error LNK2005: "找到一个或多个多重定义的符号" 已经在 xxxx.obj 中定义 的解决方法 参考文章: (1)error LNK2005: "找到一个或 ...

  8. 错误:Parameter ‘0‘ not found.Available parameters are [arg1, arg0, param1, param2]的解决方法

    错误:Parameter '0' not found.Available parameters are [arg1, arg0, param1, param2]的解决方法 参考文章: (1)错误:Pa ...

  9. spring boot启动类启动 错误: 找不到或无法加载主类 xxx.xxxx.Application 的解决方法

    spring boot启动类启动 错误: 找不到或无法加载主类 xxx.xxxx.Application 的解决方法 导入的一个外部的spring boot项目,运行启动类,忽然提示找不到或者无法加载 ...

  10. 解决MySQL出现不允许连接错误,出现有如,ERROR 1130:Host 'localhost' is not allowed to connect to this MySQL server

    自己电脑MySQL不知道怎么就突然不支持本地登录了,登录中输入 mysql -uroot -p密码 就出现:ERROR 1130 : Host 'localhost' is not allowed t ...

最新文章

  1. 【POJ】1308 Is It A Tree?((并查集 + set)or (map))
  2. 有人做出了中文版GPT-2,可用于写小说、诗歌、新闻等;15亿参数版GPT-2被两名研究生复现...
  3. pytorch筛选统计
  4. 两种富文本编辑器-ckeditor和ueditor
  5. Windows 下使用 BaiduExporter + Aria2 下载百度网盘文件
  6. Wireshark对HTTPS数据的解密
  7. ansible高级应用示例
  8. CIKERS Shane 20190530
  9. php100并发cpu告警,多线程并发导致CPU100%的一种原因和解决办法
  10. 浅谈Taro和Apollo在开发过程中的实践
  11. 一文带你认识队列数据结构
  12. 手把手带你走进卷积神经网络!
  13. java导出word文档_PHPWord导出word文档
  14. flutter实战1:完成一个有侧边栏的主界面
  15. rpa操作excel_何必绞尽脑汁,RPA应用场景不用想!
  16. webService简单概念
  17. mysql的skip-slave-start参数
  18. 解决PowerShell上运行脚本被禁用错误
  19. 零基础学习WEB前端开发(七):注释及特殊字符
  20. 分布式系统:what、why、how

热门文章

  1. 报表开发工具ActiveReports实战应用教程——分组报表
  2. Groory语言关于省略的知识点
  3. 设备 naa.6006016004102900751132ac8de3e211 性能降低。
  4. 819A - 如何成为一名职业程序员
  5. 在vue项目中插入视频
  6. “ODM OEM OBM的区别”网址汇总
  7. Podman 容器 pod 管理工具
  8. IDEA开发工具整合YAPI接口平台
  9. php mocking,php – Mocking Static Eloquent Models方法包括find()
  10. 已解决ModuleNotFoundError: No module named ‘frontend‘