使用UPDATE语句编辑行和列的自定义 Time to Live (TTL) 设置 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用UPDATE语句编辑行和列的自定义 Time to Live (TTL) 设置

注意

必须先在表TTL上启用,然后才能为行和列设置自定义TTL值。有关更多信息,请参阅 使用自定义 Time to Live (TTL) 更新表格

您可以使用该UPDATE语句通过为各个行和列设置到期日期来覆盖表的默认TTL值:

  • 行-您可以使用自定义TTL值更新现有数据行。

  • 列-您可以使用自定义TTL值更新现有行中列的子集。

行和列的设置TTL值优先于表的默认TTL设置。

要将之前插入的 “主题” 列的TTL设置从 259,200 秒(3 天)更改为 86,400 秒(一天),请使用以下语句。

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