3-TDengine竟然无法修改、删除数据?

taos> create table if not exists open_update.t2 using open_update.weather tags(“xian”, 1);

Query OK, 0 of 0 row(s) in database (0.003091s)

taos> insert into open_update.t2 (ts, temperature, humidity) values (“2021-07-26 13:55:09.237”, 99.9, 999);

Query OK, 1 of 1 row(s) in database (0.004368s)

taos> select * from open_update.t2;

ts | temperature | humidity |

========================================================================

2021-07-26 13:55:09.237 | 99.90000 | 999.00000 |

Query OK, 1 row(s) in set (0.004518s)

taos> insert into open_update.t2 (ts, temperature, humidity) values (“2021-07-26 13:55:09.237”, 1.0, 111);

Query OK, 1 of 1 row(s) in database (0.001265s)

taos> select * from open_update.t2;

ts | temperature | humidity |

========================================================================

2021-07-26 13:55:09.237 | 1.00000 | 111.00000 |

Query OK, 1 row(s) in set (0.004360s)

这时,可通过 show databases; 查看对应 open_update 数据库的 update 配置为1,表示数据可按照时间戳覆写。

2021-07-28-OpenUpdate.jpg

  • 附SQL:

drop database if exists open_update;

create database open_update update 1;

create table if not exists open_update.weather(ts timestamp, temperature float, humidity float) tags(location nchar(64), groupId int);

create table if not exists open_update.t1 using open_update.weather tags(“taiyuan”, 1);

create table if not exists open_update.t2 using open_update.weather tags(“xian”, 1);

insert into open_update.t2 (ts, temperature, humidity) values (“2021-07-26 13:55:09.237”, 99.9, 999);

select * from open_update.t2;

insert into open_update.t2 (ts, temperature, humidity) values (“2021-07-26 13:55:09.237”, 1.0, 111);

select * from open_update.t2;

不可删除?

建库时不指定 keep 参数,则 keep 默认为3650,表示数据存储10年,即 TDengine 具有数据自动清理机制。

Note:

  1. keep与days关联使用,两者之间有限制(keep不可小于days),KEEP 参数是指修改数据文件保存的天数,缺省值为 3650,取值范围 [days, 365000],必须大于或等于 days 参数值,days默认值为10;

  2. 可通过配置文件(vi /etc/taos/taos.cfg)及建库选项的keep, days参数进行配置。

taos> create database auto_delete keep 1 days 1;

Query OK, 0 of 0 row(s) in database (0.001604s)

显示的内容后面以…结尾时,表示该内容已被截断

taos> show create database auto_delete;

Database | Create Database |

==================================================================

auto_delete | CREATE DATABASE auto_delete… |

Query OK, 1 row(s) in set (0.002352s)

显示的内容后面以…结尾时,表示该内容已被截断

taos> show create table auto_delete.weather;

Table | Create Table |

==================================================================

weather | create table weather (ts TI… |

Query OK, 1 row(s) in set (0.001046s)

通过此命令修改显示字符宽度以显示完整的内容。注意:这个设置命令是临时的,当重启taosd服务后,该配置失效。

taos> SET MAX_BINARY_DISPLAY_WIDTH 125;

taos> show create database auto_delete;

Database | Create Database |

====================================================================================================

auto_delete | CREATE DATABASE auto_delete REPLICA 1 QUORUM 1 DAYS 1 BLOCKS 6 |

Query OK, 1 row(s) in set (0.001756s)

taos> show create table auto_delete.weather;

Table | Create Table |

=============================================================================================================================================

weather | create table weather (ts TIMESTAMP,temperature FLOAT,humidity FLOAT) TAGS (location NCHAR(64),groupid INT) |

Query OK, 1 row(s) in set (0.000232s)

2021-07-28-AutoDelete.png

  • 附SQL:

create database auto_delete keep 1 days 1;

create table if not exists auto_delete.weather(ts timestamp, temperature float, humidity float) tags(location nchar(64), groupId int);

create table if not exists auto_delete.t1 using auto_delete.weather tags(“taiyuan”, 1);

create table if not exists auto_delete.t2 using auto_delete.weather tags(“yuncheng”, 1);

create table if not exists auto_delete.t3 using auto_delete.weather tags(“xian”, 2);

create table if not exists auto_delete.t4 using auto_delete.weather tags(“xianyang”, 2);

insert into auto_delete.t1 (ts, temperature, humidity) values (now, 23.0, 50.1);

insert into auto_delete.t2 (ts, temperature, humidity) values (now, 23.0, 50.1);

insert into auto_delete.t3 (ts, temperature, humidity) values (now, 23.0, 50.1);

insert into auto_delete.t4 (ts, temperature, humidity) values (now, 23.0, 50.1);

Notes:

  1. 我遇到了数据到了时间却未被清除的问题,不过晚上关闭了虚拟机,第二天数据确实被清除了。具体原理参考官网:https://blog.csdn.net/taos_data/article/details/117999718?spm=1001.2014.3001.5501

  2. 测试配置可更新时,刚开始的库名为:can_update,建好库后,执行show create database can_update报错,后来换了数据库名为open_update才正常执行,难道can_update是关键词,在官方文档里并没有找见,这可能是个bug…

2021-07-28-CanUpdate.jpg

drop database if exists can_update;

create database can_update update 1;

show create database can_update;

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要系统化学习资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值