本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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)。在下列範例中,如果重複的金鑰是 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"}';