当前位置: 首页 > news >正文

MySQL 报错:1137 - Can‘t reopen table

MySQL 报错:1137 - Can’t reopen table

1. 问题

对临时表查询:

select a.ts_code,a.tsnum,b.tsnum from (select t.ts_code ,count(*) tsnum from tmp_table t group by t.ts_code  having count(*) > 20 and count(*)< 50 ) a ,(select t.ts_code ,count(*) tsnum from tmp_table t group by t.ts_code  having count(*) > 30 and count(*)< 100 ) b
where a.ts_code=b.ts_code;

报错:

1137 - Can’t reopen table: ‘t’

在正常表中,肯定是可以的。
让人迷惑了一下子。

2.原因

MySQL中出现错误1137 "Can’t reopen table "通常是由于在同一个查询中多次引用了同一个临时表。根据MySQL的限制,不能在同一查询中多次引用一个临时表,即使是使用不同的别名,这个限制也适用于存储过程中对临时表的多次引用。

  • 解决方案
    (1)使用不同的临时表:如果你需要在查询中多次使用临时表,可以考虑使用多个不同表名的临时表来存储中间结果。
    (2)使用持久化表:把临时表拷贝到正常表里,使用持久化表(非临时表)来代替临时表,因为持久化表没有这样的限制。
http://www.lryc.cn/news/489496.html

相关文章:

  • Claude3.5-Sonnet和GPT-4o怎么选(附使用链接)
  • 使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
  • java-贪心算法
  • OpenCV和Qt坐标系不一致问题
  • 前端VUE项目启动方式
  • Python小白学习教程从入门到入坑------习题课5(基础巩固)
  • 飞凌嵌入式T113-i开发板RISC-V核的实时应用方案
  • 基于Java后台实现百度、高德和WGS84坐标的转换实战
  • SQL,力扣题目1635,Hopper 公司查询 I
  • Android 分区相关介绍
  • JMeter监听器与压测监控之 InfluxDB
  • 信息安全管理与评估赛项(网络安全)--应急响应专项训练
  • ElasticSearch学习篇18_《检索技术核心20讲》LevelDB设计思想
  • 使用 FFmpeg 提取音频的详细指南
  • 中国省级新质生产力发展指数数据(任宇新版本)2010-2023年
  • C++设计模式:建造者模式(Builder) 房屋建造案例
  • Python 快速入门(上篇)❖ Python基础知识
  • string接口的模拟实现
  • sed使用扩展正则表达式时, -i 要写在 -r 或 -E 的后面
  • Verilog HDL可综合与不可综合语句
  • tomcat 后台部署 war 包 getshell
  • 网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析1
  • 前端面试题大汇总:React 篇
  • 【prism】遇到一个坑,分享!
  • Python+Selenium+Pytest+Allure+ Jenkins webUI自动化框架
  • 智象未来(HiDream.ai)技术赋能,开启AR眼镜消费时代
  • element dialog 2层弹窗数据同步问题
  • 向量数据库FAISS之五:原理(LSH、PQ、HNSW、IVF)
  • 要素市场与收入分配
  • Web3的核心技术:区块链如何确保信息安全与共享