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 删除表是解决表名时有不可见字符导致无法使用表名删除的场景使用。

相关推荐
forEverPlume几秒前
c++如何通过解析二进制包头信息解决Socket传输过程中的粘包问题【详解】
jvm·数据库·python
豆豆3 分钟前
高校网站用什么CMS?站群管理+国产化适配方案
java·大数据·cms·建站系统·信创国产化·高校网站·站群cms
BU摆烂会噶7 分钟前
【LangGraph 持久化】让 AI Agent 拥有“记忆”
数据库·人工智能·python·langchain
当战神遇到编程18 分钟前
数据库表关系详解:一对一、一对多、多对多
数据库
脑子进水养啥鱼?19 分钟前
PostgreSql CAST
数据库·postgresql
思麟呀19 分钟前
Epoll的学习,在select和poll的基础上
网络·数据库·sql·学习·tcp/ip
zhangchaoxies22 分钟前
c++怎么在Linux下获取文件被最后一次访问的精确纳秒时间【进阶】
jvm·数据库·python
m0_7478545223 分钟前
c++怎么在Linux下获取文件被最后一次访问的精确纳秒时间【进阶】
jvm·数据库·python
2301_8166602125 分钟前
如何用HTML函数工具检测当前设备性能_内置诊断操作【操作】
jvm·数据库·python
智慧化智能化数字化方案30 分钟前
数字化转型:解读IBM—大型酒业集团数字化转型项目实施方案建议书【附全文阅读】
大数据·人工智能·集团数字化转型·酒业集团数字化·食品公司数字化·快消品数字化