本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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"}';