

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# INSERT
<a name="cql.dml.insert"></a>

使用 `INSERT`陳述式將資料列新增至資料表。

**語法**

```
insert_statement ::=  INSERT INTO table_name ( names_values | json_clause )
                      [ IF NOT EXISTS ]
                      [ USING update_parameter ( AND update_parameter )* ]
names_values     ::=  names VALUES tuple_literal
json_clause      ::=  JSON string [ DEFAULT ( NULL | UNSET ) ]                
names            ::=  '(' column_name ( ',' column_name )* ')'
```

**範例**

```
INSERT INTO "myGSGKeyspace".employees_tbl (id, name, project, region, division, role, pay_scale, vacation_hrs, manager_id)
VALUES ('012-34-5678','Russ','NightFlight','US','Engineering','IC',3,12.5, '234-56-7890') ;
```

**更新參數**

`INSERT` 支援下列值做為 `update_parameter`：
+ `TTL` – 以秒為單位的時間值。最大可設定的值為 630,720,000 秒，相當於 20 年。
+ `TIMESTAMP` – 代表自稱為 的標準基準時間以來微秒數`bigint`的值epoch：1970 年 1 月 1 日 00：00：00 GMT。Amazon Keyspaces 中的時間戳記必須介於過去 2 天到未來的 5 分鐘之間。

**範例**

```
INSERT INTO my_table (userid, time, subject, body, user)
        VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123')
        USING TTL 259200;
```

**JSON 支援**

如需將 JSON 編碼資料類型映射至 Amazon Keyspaces 資料類型的資料表，請參閱 [Amazon Keyspaces 資料類型的 JSON 編碼](cql.elements.md#cql.data-types.JSON)。

您可以使用 `JSON`關鍵字，將 `JSON`編碼的映射插入為單一資料列。對於資料表中存在但 JSON 插入陳述式中省略的資料欄，請使用 `DEFAULT UNSET`保留現有的值。使用 `DEFAULT NULL`將 NULL 值寫入省略的資料欄的每一列，並覆寫現有的值 （需支付標準寫入費用）。 `DEFAULT NULL`是預設選項。

**範例**

```
INSERT INTO "myGSGKeyspace".employees_tbl JSON '{"id":"012-34-5678",
                                                 "name": "Russ",
                                                 "project": "NightFlight",
                                                 "region": "US",
                                                 "division": "Engineering",
                                                 "role": "IC",
                                                 "pay_scale": 3,
                                                 "vacation_hrs": 12.5,
                                                 "manager_id": "234-56-7890"}';
```

如果 JSON 資料包含重複的金鑰，Amazon Keyspaces 會儲存金鑰的最後一個值 （類似於 Apache Cassandra)。在下列範例中，如果重複的金鑰是 `id`，`234-56-7890`則會使用 值。

**範例**

```
INSERT INTO "myGSGKeyspace".employees_tbl JSON '{"id":"012-34-5678",
                                                 "name": "Russ",
                                                 "project": "NightFlight",
                                                 "region": "US",
                                                 "division": "Engineering",
                                                 "role": "IC",
                                                 "pay_scale": 3,
                                                 "vacation_hrs": 12.5,
                                                 "id": "234-56-7890"}';
```