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

相关推荐
weisian15118 分钟前
Redis篇--常见问题篇2--缓存雪崩(过期时间分散,缓存预热,多级缓存)
数据库·redis·缓存
天冬忘忧28 分钟前
Flink调优----资源配置调优与状态及Checkpoint调优
大数据·flink
LuiChun28 分钟前
django的model.py admin.py views.py 中 的可循环遍历的 精简案例
android·数据库·django
新加坡内哥谈技术29 分钟前
OpenAI发布全新AI模型 o3 与 o3-mini:推理与编码能力迎来重大突破. AGI 来临
大数据·人工智能·语言模型·自然语言处理
鸿蒙自习室42 分钟前
鸿蒙开发——关系型数据库的基本使用与跨设备同步
前端·数据库·华为·harmonyos·鸿蒙
卷心菜是俺1 小时前
JVM和数据库面试知识点
jvm·数据库·面试
lfw20191 小时前
Dapper
数据库
酱学编程1 小时前
ES搜索原理
大数据·elasticsearch·搜索引擎
牵牛老人1 小时前
Qt调用adb对嵌入式设备的配置文件进行修改,写入多行内容
数据库·qt·adb
A_aspectJ2 小时前
Oracle 数据库中经典函数的用法举例(一)
数据库·oracle