本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 GMT)以来的微秒数。Amazon Keyspaces 中的时间戳必须介于过去 2 天和未来 5 分钟之间。
示例
INSERT INTOmy_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-encoded 数据类型映射到 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"}';