

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `UPDATE` ステートメントを使用して行と列のカスタム有効期限 (TTL) 設定を編集する
<a name="TTL-how-to-update-cql"></a>

**注記**  
行と列のカスタム TTL 値を設定する前に、まず、テーブルで TTL を有効にしておく必要があります。詳細については、「[カスタムの有効期限 (TTL) でテーブルを更新する](TTL-how-to-enable-custom-alter.md)」を参照してください。

`UPDATE` ステートメントを使用して、個々の行と列の有効期限を設定することで、テーブルのデフォルトの TTL 値を上書きできます。
+ 行 – 既存のデータ行をカスタム TTL 値で更新できます。
+ 列 – 既存の行内の列のサブセットをカスタム TTL 値で更新できます。

行の TTL 値を設定すると、テーブルのデフォルト TTL 設定よりも優先されます。

以前に挿入された「件名」列の 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;
```

このクエリでは、「件名」列の有効期限が切れた後に次の出力が表示されます。

```
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
```