TDengine 新功能 通过 UID 删除不可见表

1. 背景

我们在通过程序建表时,使用反引号把表名引用起来时,可以创建出来有不可见字符的表名,此时这样的表就无法访问,也无法删除,成了系统中的僵尸表。

从 TDengine 3.3.3.0 版本开始,提供了一个新的通过表的 UID 来删除表的功能,对于原来的僵尸表,即可查询到表对应 UID 直接删除。

2. SQL语法

DROP TABLE WITH [ db_name. ]`UID` [, [ db_name. ]`UID`] ...

  • 功能说明:

根据表 UID 删除表,表可以为超级表、子表或普通表,UID 必须加且只能使用反引号,可以一次删除多个 UID, 之间使用逗号分隔。

  • 获取表 UID

表的 UID 可以查询系统表得到,如:

select db_name,table_name ,uid from information_schema.ins_tables where uid is not null;

  • 错误码说明:
Error code description note
0x2600 syntax error near Sql 语句非法
0x2603 Table does not exist drop 不存在的表
0x2644 Permission denied or target object not exist 非 root 用户执行 drop table with

3. 总结

通过表 UID 删除表是解决表名时有不可见字符导致无法使用表名删除的场景使用。

相关推荐
ChinaRainbowSea24 分钟前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
骥龙41 分钟前
XX汽集团数字化转型:全生命周期网络安全、数据合规与AI工业物联网融合实践
人工智能·物联网·web安全
我在看你呵呵笑1 小时前
GD32VW553-IOT开发板移植适配openharmony
物联网·华为·harmonyos
zskj_qcxjqr1 小时前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代
大数据·人工智能·科技·机器人
每日新鲜事1 小时前
Saucony索康尼推出全新 WOOOLLY 运动生活羊毛系列 生动无理由,从专业跑步延展运动生活的每一刻
大数据·人工智能
小马学嵌入式~1 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
御控工业物联网2 小时前
御控物联网远程控制水泵启停智能自控解决方案
物联网·智慧水务·水泵远程监控·泵站智能监控·联动控制
Java小白程序员2 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly212 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql
在未来等你2 小时前
Kafka面试精讲 Day 15:跨数据中心复制与灾备
大数据·分布式·面试·kafka·消息队列