oracle-nosql - 如何更改行的 TTL 或如何清除 Oracle NoSQL 数据库中的旧数据?
问题描述
似乎命令 alter table TTL 只影响在那之后写入的行;它对现有行没有影响
如何在旧/现有数据上应用 TTL?我们怎样才能清除?有什么建议么
解决方案
你说的对。Alter table TTL 只影响在那之后写入的行;它对现有行没有影响
您可以使用删除命令进行清除。请参阅下面的详细示例在这种情况下,我想将 TTL 设置为 1 小时
sql-> SELECT $u, remaining_hours($u) as hours FROM user $u ;
{"u":{"id":1,"name":"Hello"},"hours":3}
{"u":{"id":3,"name":"Hello"},"hours":1}
{"u":{"id":2,"name":"Hello"},"hours":1}
3 rows returned
sql-> delete from user $u where remaining_hours($u) > 1;
{"numRowsDeleted":1}
1 row returned
sql-> SELECT $u, remaining_hours($u) as hours FROM user $u ;
{"u":{"id":2,"name":"Hello"},"hours":1}
{"u":{"id":3,"name":"Hello"},"hours":1}
您还可以更新每一行的 TTL。但不支持多行更新
UPDATE User $u SET TTL 1 hours WHERE id = 1;
UPDATE User $u SET TTL remaining_hours($p) + 3 hours WHERE id = 1;
你也有 API 来做这件事
推荐阅读
- typescript - 键入将任何参数包装到数组中的函数
- excel - CellAddress 添加一列
- python - ValueError:输入形状的预期轴 -1 的值为 1,但接收到的输入形状为 (None, 1, 300, 300)
- python - 在 Djangp 的 ManyToMany 字段中添加数量
- python - 如何找到一个numpy数组的平均值?
- numpy - Python - 无法匹配文件中的字符串
- ios - 如何在不提供特定“标签”视图的情况下创建自定义 SwiftUI 按钮?
- javascript - 使用 Javascript 从 BigQuery 中的前一行和同一列计算
- python - 我有这个包含一堆字节和一些文本的非文本文件,我该如何将文本与其他文本完全分开?
- typescript - 这是不恰当使用泛型的案例吗?