本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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
:以秒为单位的时间值。最大可配置值为 630720000 秒,相当于 20 年。TIMESTAMP
— 表示自标准基准时间以来的微秒数的bigint
值,称为 epoch: 格林尼治标准时间 1970 年 1 月 1 日 00:00:00。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"}';