使用 UPDATE 语句可编辑行和列的自定义生存时间(TTL)设置 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 UPDATE 语句可编辑行和列的自定义生存时间(TTL)设置

注意

必须先在表上启用 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