本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
必须先在表上启用 TTL,然后才能为行和列设置自定义 TTL 值。有关更多信息,请参阅 使用自定义生存时间(TTL)更新表。
可以使用 UPDATE
语句,通过为各行设置过期日期来覆盖表的默认 TTL 值:
-
行 - 可以使用自定义 TTL 值来更新现有数据行。
-
列 - 可以使用自定义 TTL 值更新现有行中的部分列。
为行和列设置 TTL 值优先于表的默认 TTL 设置。
要将前面插入的 subject 列的 TTL 设置从 259,200 秒(3 天)改为 86,400 秒(1 天),请使用以下语句。
UPDATE my_table
USING TTL 86400 set subject = 'Updated Message' WHERE userid = B79CB3BA-745E-5D9A-8903-4A02327A7E09 and time = 96a29100-5e25-11ec-90d7-b5d91eceda0a;
您可以运行一个简单的选择查询,查看到期时间之前更新的记录。
SELECT * from my_table
;
该查询会显示以下输出。
userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+-----------------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | Updated Message | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123
要确认过期已成功,请在配置的过期时间后再次运行相同的查询。
SELECT * from my_table
;
在 subject 列过期后,该查询会显示以下输出。
userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+---------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | null | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123