我已经创建了一个表并将一堆数据加载到表中。现在,我想在此表中实现生存时间功能,以便记录在 7 天后过期。
这是创建表命令:
CREATE TABLE userInfo (
userID INTEGER,
userName STRING,
userAge INTEGER,
userAddress JSON,
PRIMARY KEY(userID))
如何在不删除、重新创建表和使用 Python SDK 重新加载数据的情况下添加生存时间 (TTL)?
答案 0 :(得分:0)
更改表的 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;