nosql - 如何使用 Oracle NoSQL 数据库云服务 Python SDK 将 TTL 添加到现有表?
问题描述
我已经创建了一个表并将一堆数据加载到表中。现在,我想在此表中实现生存时间功能,以便记录在 7 天内过期。
这是创建表命令:
CREATE TABLE userInfo (
userID INTEGER,
userName STRING,
userAge INTEGER,
userAddress JSON,
PRIMARY KEY(userID))
如何使用 Python SDK 在不删除、重新创建表和重新加载数据的情况下添加生存时间 (TTL)?
解决方案
更改TTL
表只影响在那之后写入的行;它对现有行没有影响。
除非您用明确的TTL
.
如果您使用的是发布21.1
,您可以modification_time
在查询中使用该函数来确定最后一次修改时间。您可以从20.2
Row 中获取相同的信息,但您必须使用 API 来扫描您的表。
不要忘记,您还可以更新每一行的 TTL。但不支持多行更新,你也有 API
UPDATE User $u SET TTL 3 hours WHERE id = 1;
UPDATE User $u SET TTL remaining_hours($p) + 3 hours WHERE id = 1;