INSERT - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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:以秒为单位的时间值。最大可配置值为 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"}';