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

相关推荐
小白勇闯网安圈39 分钟前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨1 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
ltl2 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
LCG元2 小时前
STM32+ESP8266+MQTT 物联网气象站:从零搭建温湿度远程监测系统(附完整源码)
stm32·物联网·struts
ltl2 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl2 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
2503_931712483 小时前
OpenInsight领衔:企业AI数据分析平台(Data Agent/智能问数/智能数据报告)
大数据
朴马丁3 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
麻瓜code4 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶4 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构