INSERT - Amazon Keyspaces (適用於 Apache Cassandra)

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

INSERT

使用 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 – 代表自標準基準時間 :1970 年 1 epoch月 1 日 00:00:00 GMT 以來微秒數bigint的值。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 編碼

您可以使用 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)。在下列範例中,如果重複的金鑰是 id234-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"}';