华为云用户手册

  • 历史推流列表 选择需要查看的推流 域名 、时间、应用名称和流名称。单击,即可查看到对应推流域名的历史推流信息,如图8所示。 各参数说明如表1所示。 不支持查询正在推流的域名的历史推流详情。 支持查看最近7天的历史数据。 查询的时间跨度最长为1天。 图8 历史推流信息 表1 参数说明 参数名 描述 流名 直播流名称,即推流地址中自定义的StreamName。 域名 推流域名。 应用名称 即推流地址中默认或自定义的AppName。 开始时间 直播流开始推流的时间, 格式:YYYY-MM-DD hh:mm:ss,如2020-11-06 14:39:42。 结束时间 直播流结束推流的时间, 格式:YYYY-MM-DD hh:mm:ss,如2020-11-06 14:39:44。 类型 直播流的推送类型,包含主播推流和第三方CDN回源两种类型。 主播IP 推流端的IP地址。 音频编码 音频编码格式。 视频编码 视频编码格式。
  • 观众数 选择需要查看的时间、播放域名、应用名称、流名称、封装协议、省份、运营商和时间粒度,即可查看趋势图。 仅支持查询FLV和RTMP流的在线人数。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 仅支持选择单个域名进行查询。 统计的是独立IP数,最小统计粒度为1分钟,如2020-11-06 8:00:00~2020-11-06 8:00:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上。 趋势图中呈现的是所选域名的在线独立访客数趋势,如图6所示。 图6 在线独立访客数趋势
  • 下行带宽/流量 选择需要查看的时间、播放域名、区域、应用名称、流名称、时间粒度及封装协议。单击页面右侧的“带宽”或“流量”,可以切换查看带宽、流量趋势图。 单击右侧的图标,可以导出具体数据。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据,会统计展示在2020-11-06 8:00:00这个统计点上。其中,带宽为用户所选粒度时间内的平均值,流量为用户所选粒度时间内的累计值。 直播流名称需要根据播放端实际拉取的流进行填写,例如,播放端拉取的是转码流,则“流名称”中需要填写的是转码流名称。 导出数据暂不支持按运营商分类。 带宽用量趋势呈现的是所选域名的总带宽趋势。您可以在带宽趋势区域的下方,查看所选域名在查询时间段内的下行带宽峰值,如图1所示。 图1 下行带宽统计详情 流量用量趋势呈现的是所选域名的总流量趋势。您可以在流量趋势区域的下方,查看所选域名在查询时间段内的流量消耗,如图2所示。 图2 下行流量统计详情 流量表和流量趋势图中呈现的总流量,是将每5分钟粒度统计的流量进行合计(Byte),然后换算成MB,精确到小数点后两位。因此,可能与按5分钟粒度查询导出的流量表中“流量(MB)”列的合计值存在稍微的误差,这是由于计算时四舍五入导致。
  • 推流路数 选择需要查看的推流域名和时间,即可查看趋势图。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 支持选择 多个域名 同时查询,单次查询的域名总数不能超过10个。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上,其中,展示的数据为用户所选粒度时间段内的最大值。 趋势图中呈现的是所选域名推流到直播源站的总路数趋势,如图7所示。 图7 推流路数趋势
  • 上行带宽/流量 选择需要查看的时间、推流域名、区域、省份、运营商、应用名称、流名称、时间粒度及封装协议。单击页面右侧的“带宽”或“流量”,可以切换查看带宽、流量趋势图。 单击右侧的图标,可以导出具体数据。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上,其中,带宽为用户所选粒度时间内的平均值,流量为用户所选粒度时间内的累计值。 导出数据暂不支持按运营商分类。 带宽用量趋势呈现的是所选域名的总上行带宽趋势,如图3所示。 图3 上行带宽趋势 流量用量趋势呈现的是所选域名的总流量趋势。您可以在流量趋势区域的下方,查看所选域名在查询时间段内的流量消耗,如图4所示。 图4 上行流量统计详情 流量表和流量趋势图中呈现的总流量,是将每5分钟粒度统计的流量进行合计(Byte),再换算成MB后,精确到小数点后两位。因此,可能与按5分钟粒度查询导出的流量表中“流量(MB)”列的合计值存在稍微的误差,这是由于计算时四舍五入导致。
  • 注意事项 启用开停播通知功能后,直播活动中的每一次推流和断流都将会接收到相应的直播状态通知消息。但在推流和断流时间比较相近的情况下,由于网络传输等原因可能会影响服务端接收到消息的时序,即可能会导致接收到的推流和断流通知消息的先后顺序无法对应上。您需要通过查看通知消息中的推流Unix时间戳参数publish_timestamp,确定推流和断流消息是否属于同一次推流活动(同一次推流活动产生的推流和断流通知消息的时间戳是相同的)。
  • 回调示例 直播推流和断流生成事件通知示例如下。通知消息体字段如表1所示。 { "domain":"push.example.com", "app":"live", "stream":"example_stream", "user_args":"auth_info=yz1TG0PVN/5isfyrGrRj10gKPCWqSS2X02t6QsRrocH+mEq0gQ0g8k6KhalS84sQ+kDprFyqI0yajbYiFmUO8e45B7ryaS+MpJBlYkhwnuFLnRiKK/IXG7.33436b625354564f6e4d4d434f55&cdn=hw", "client_ip":"100.111.*.*", "node_ip":"112.11.*.*", "publish_timestamp":"1587954134", "event":"PUBLISH", "auth_timestamp":1587954140, "auth_sign":"ff3b2bxxx5cfd56e76d72bed4c4aa2dxxxca8c2e46467d205a6417d4fc" }
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 证书管理 API 说明 上传设备CA证书 应用服务器可调用此接口在 物联网平台 上传设备的CA证书。 获取设备CA证书列表 应用服务器可调用此接口在物联网平台获取设备的CA证书列表。 删除设备CA证书 应用服务器可调用此接口在物联网平台删除设备的CA证书。 查询单个设备CA证书 应用服务器可调用此接口在物联网平台查询设备的CA证书。 更新单个设备CA证书 应用服务器可调用此接口在物联网平台更新设备的CA证书。 生成CA证书验证码/验证设备CA证书 应用服务器可调用此接口在物联网平台生成CA证书验证码或验证设备的CA证书。
  • 注册组管理 API 说明 查询注册组列表 应用服务器可调用此接口查询物联网平台中的注册组信息列表。 创建注册组 应用服务器可调用此接口在物联网平台创建一个注册组。 删除注册组 应用服务器可调用此接口在物联网平台上根据注册组名称删除指定注册组。 查询注册组详情 应用服务器可调用此接口查询物联网平台中注册组详情。 删除注册组 应用服务器可调用此接口在物联网平台上根据注册组ID删除指定注册组。 修改注册组 应用服务器可调用此接口修改物联网平台中指定注册组的基本信息。 查询注册组下的设备 应用服务器可调用此接口查询物联网平台中注册组设备信息。
  • 设备管理 API 说明 注册设备 应用服务器可调用此接口在物联网平台注册一个设备,仅在注册后设备才可以接入物联网平台。 查询设备列表 应用服务器可调用此接口查询物联网平台中的设备信息列表。 查询设备 应用服务器可调用此接口查询物联网平台中指定设备的详细信息。 修改设备 应用服务器可调用此接口修改物联网平台中指定设备的基本信息。 删除设备 应用服务器可调用此接口在物联网平台上删除指定设备。若设备下连接了非直连设备,则必须把设备下的非直连设备都删除后,才能删除该设备。 操作设备 应用服务器可调用此接口对设备执行操作。 发放设备 应用服务器可调用此接口对设备执行发放操作。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 access_point_id String 接入点id。 最小长度:1 最大长度:256 access_point_name String 接入点名称。 最小长度:1 最大长度:256 region_id String 华为云区域ID。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 region_name String 华为云区域名称。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 edition String 实例版本。Basic:基础版;Enterprise:企业版;Standard:基础版。 最小长度:1 最大长度:256 access_infos Array of AccessInfo objects 专享实例接入信息 数组长度:0 - 10 表5 AccessInfo 参数 参数类型 描述 protocol String 接入协议 type String 接入类型,目前支持应用接入和设备接入 port Integer 设备/应用接入端口 最小值:0 最大值:65535 public_address Array of strings 实例的公网接入地址(公网接入地址唯一) 最小长度:0 最大长度:65535 数组长度:0 - 10 domain_name String 接入域名(接入域名唯一)
  • 响应示例 状态码: 200 OK { "access_point_id" : "DMP-CNNorth-1-1", "access_point_name" : "设备管理-北京一-1", "region_id" : "cn-north-1", "region_name" : "华北-北京一", "edition" : "Standard", "access_infos" : [ { "protocol" : "HTTPS", "type" : "Application", "port" : 8743, "public_address" : [ "100.0.0.1" ], "domain_name" : "iotda-app.cn-north-1.myhuaweicloud.com" }, { "protocol" : "MQTT", "type" : "Device", "port" : 1883, "public_address" : [ "100.0.0.1" ], "domain_name" : "basic-mqtt.cn-north-1.myhuaweicloud.com" }, { "protocol" : "MQ TTS ", "type" : "Device", "port" : 8883, "public_address" : [ "100.0.0.1" ], "domain_name" : "basic-mqtts.cn-north-1.myhuaweicloud.com" } ] }
  • URI GET /v5/iotps/{project_id}/access-points/{access_point_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 access_point_id 是 String 接入点id,用于区分不同的区域。 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 region_id 是 String 区域ID,用于区分不同的区域。 最小长度:1 最大长度:64
  • 参数说明 第一种不指定索引。会在所有主键或唯一索引上检查冲突,有冲突就会忽略或者更新。 第二种指定索引。会从ON CONFLICT子句中指定列名、包含列名的表达式或者约束名上推断主键或者唯一索引。 唯一索引推断 对于第二种语法形式,通过指定列名或者约束名推断主键或者唯一索引。列名可以是单一列名,或者由多个列名组成的表达式,比如column1,column2,column3。 UPDATE子句 UPDATE子句可以通过VALUES(colname)或者EXCLUDED.colname引用插入的数据。EXCLUDED表示因冲突原本该排除的数据行。 WHERE子句 用于在数据冲突时,判断是否满足指定条件。如果满足,则更新冲突数据。否则忽略。 只有第二种语法形式的冲突更新语法可以指定WHERE子句。即 INSERT INTO ON CONFLICT(...) DO UPDATE SET WHERE
  • 语法格式 表1 UPSERT语法格式 语法格式 冲突更新 冲突忽略 第一种:不指定索引 INSERT INTO ON DUPLICATE KEY UPDATE INSERT IGNORE INSERT INTO ON CONFLICT DO NOTHING 第二种:从指定列名或者约束上可以推断唯一约束 INSERT INTO ON CONFLICT(...) DO UPDATE SET INSERT INTO ON CONFLICT ON CONSTRAINT con_name DO UPDATE SET INSERT INTO ON CONFLICT(...) DO NOTHING INSERT INTO ON CONFLICT ON CONSTRAINT con_name DO NOTHING
  • 示例 创建表reason_upsert并向表中插入数据: 1 2 3 4 5 6 7 CREATE TABLE reason_upsert ( a int primary key, b int, c int )WITH(ORIENTATION=COLUMN, ENABLE_HSTORE=ON); INSERT INTO reason_upsert VALUES (1, 2, 3); 忽略冲突的数据: 1 INSERT INTO reason_upsert VALUES (1, 4, 5),(2, 6, 7) ON CONFLICT(a) DO NOTHING; 更新冲突的数据: 1 INSERT INTO reason_upsert VALUES (1, 4, 5),(3, 8, 9) ON CONFLICT(a) DO UPDATE SET b = EXCLUDED.b, c = EXCLUDED.c;
  • 参数说明 DISTINCT [ ON ( expression [, ...] ) ] 从SELECT的结果集中删除所有重复的行,使结果集中的每行都是唯一的。 ON ( expression [, ...] ) 只保留那些在给出的表达式上运算出相同结果的行集合中的第一行。 SELECT列表 指定查询表中列名,可以是部分列或者是全部(使用通配符*表示)。 通过使用子句AS output_name可以为输出字段取个别名,这个别名通常用于输出字段的显示。 FROM子句 为SELECT声明一个或者多个源表。 FROM子句涉及的元素如下所示。 WHERE子句 WHERE子句构成一个行选择表达式,用来缩小SELECT查询的范围。condition是返回值为布尔型的任意表达式,任何不满足该条件的行都不会被检索。 WHERE子句中可以通过指定"(+)"操作符的方法将表的连接关系转换为外连接。但是不建议用户使用这种用法,因为这并不是SQL的标准语法,在做平台迁移的时候可能面临语法兼容性的问题。同时,使用"(+)"有很多限制: GROUP BY子句 将查询结果按某一列或多列的值分组,值相等的为一组。 HAVING子句 与GROUP BY子句配合用来选择特殊的组。HAVING子句将组的一些属性与一个常数值比较,只有满足HAVING子句中的逻辑表达式的组才会被提取出来。 ORDER BY子句 对SELECT语句检索得到的数据进行升序或降序排序。对于ORDER BY表达式中包含多列的情况:
  • 注意事项 列存表与HStore表都暂不支持SELECT FOR UPDATE语法。 对HStore表执行SELECT查询时,会扫描列存主表CU上的数据、delta表上的I记录中的数据、内存中每行数据更新信息,并将三种信息合并后返回。 在通过主键索引或唯一索引查询数据的场景中: 对于传统列存表,唯一索引会同时存储行存Delta表上的数据位置信息(blocknum,offset)与列存主表的数据位置信息(cuid,offset),数据MERGE到主表后又会插入新的索引元组,索引会持续膨胀。 对于HStore表,由于实现了全局CUID的统一分配,索引元组中始终只存储(cuid,offset), 数据MERGE后不会产生新的索引元组。
  • 语法格式 1 2 3 4 5 6 7 8 9 10 [ WITH [ RECURSIVE ] with_query [, ...] ] SELECT [/*+ plan_hint */] [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] { * | {expression [ [ AS ] output_name ]} [, ...] } [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY grouping_element [, ...] ] [ HAVING condition [, ...] ] [ { UNION | INTERSECT | EXCEPT | MINUS } [ ALL | DISTINCT ] select ] [ ORDER BY {expression [ [ ASC | DESC | USING operator ] | nlssort_expression_clause ] [ NULLS { FIRST | LAST } ]} [, ...] ] [ { [ LIMIT { count | ALL } ] [ OFFSET start [ ROW | ROWS ] ] } | { LIMIT start, { count | ALL } } ]
  • 约束限制 当需要使用HStore表时,需要同步修改以下几个参数的默认值,否则会导致HStore表性能严重劣化。 推荐的参数修改配置是:autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=true。 当前HStore与列存都不支持使用vacuum清理索引脏数据,在频繁update场景可能会导致索引膨胀,后续版本会支持。 当使用HStore异步排序功能时,有两点需要注意。 异步排序期间可能会阻塞部分数据的DML操作,最大的阻塞粒度为异步排序的行数阈值,因此在反复DML的场景下不建议使用此功能。 自动异步排序与列存vacuum互斥,当autovacuum流程中满足列存vacuum的条件,则直接跳过流程中的异步排序,等待下次触发(极端场景下因为反复大批量DML操作的执行,列存vacuum会不停被触发,因此异步排序总是无法被触发)。
  • pgxc_get_cstore_dirty_ratio(rel_name text, partition_name) 描述:该函数用于获取各个DN上目标表的cu、delta以及cudesc的脏页率以及大小,仅支持HStore_opt表。 其中partition_name为可选参数,如果传入分区名则只返回该分区对应的信息;如果没传入分区名且是主表时分区表返回所有分区对应的信息。该函数仅9.1.0.100及以上集群版本支持。 返回值类型:record 返回值: node_name:DN节点名。 database_name:表所在数据库名称 rel_name:主表名 part_name:分区名 cu_dirty_ratio:cu文件的脏页率 cu_size:cu文件大小 delta_dirty_ratio:delta表脏页率 delta_size:delta表大小 cudesc_dirty_ratio:cudesc表脏页率 cudesc_size:cudesc表大小 示例: 1 2 3 4 5 6 7 8 SELECT * FROM pgxc_get_cstore_dirty_ratio('hs_opt_part'); node_name | database_name | rel_name | partition_name | cu_dirty_ratio | cu_size | delta_dirty_ratio | delta_size | cudesc_dirty_ratio | cudesc_size -----------+---------------+--------------------+----------------+----------------+---------+-------------------+------------+--------------------+------------- dn_1 | postgres | public.hs_opt_part | p1 | 0 | 0 | 0 | 16384 | 0 | 24576 dn_1 | postgres | public.hs_opt_part | p2 | 0 | 0 | 0 | 16384 | 0 | 24576 dn_1 | postgres | public.hs_opt_part | p3 | 0 | 0 | 0 | 16384 | 0 | 24576 dn_1 | postgres | public.hs_opt_part | p4 | 0 | 0 | 0 | 16384 | 0 | 24576 dn_1 | postgres | public.hs_opt_part | other | 0 | 1105920 | 0 | 524288 | 0 | 40960
  • pgxc_get_hstore_delta_info(rel_name text) 描述:该函数用于获取目标表的delta表信息,包括delta表的大小,insert/delete/update各种类型记录的数量等。该函数仅8.2.1.100及以上集群版本支持。 返回值类型:record 返回值: node_name:DN节点名。 part_name:分区名,非分区表此列为non partition table。 live_tup:存活的元组数量。 n_ui_type:type 是 ui (小cu合并和upsert走update插入) 的记录的数量。一条ui记录表示一次插入,可以是单插或者批插。该参数仅8.3.0.100及以上版本支持。 n_i_type:type 是 i (insert) 的记录的数量。一条i记录表示一次插入,可以是单插或者批插。 n_d_type:type 是 d (delete) 的记录的数量。一条d记录表示一次删除,可以是单条删或者批量删除。 n_x_type:type 是 x (由update产生的delete) 记录的数量。 n_u_type:type 是 u (轻量化update) 的记录数量。 n_m_type:type 是 m (merge) 的记录数量。 data_size:表的大小。 示例: 1 2 3 4 5 6 7 SELECT * FROM pgxc_get_hstore_delta_info('hs_part'); node_name | part_name | live_tup | n_ui_type | n_i_type | n_d_type | n_x_type | n_u_type | n_m_type | data_size -----------+-----------+----------+-----------+----------+----------+----------+----------+----------+----------- dn_1 | p1 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 8192 dn_1 | p2 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 8192 dn_1 | p3 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 8192 (3 rows)
  • hstore_full_merge(rel_name text,partitionName text) 描述:该函数用于手动对HStore表进行全量清理操作,其中第二个入参为可选参数,用于指定单分区进行操作。 返回值类型:int 执行该操作会强制将DELTA表上的所有可见操作Merge到主表,然后建一张新的空Delta表, 期间持有该表的八级锁。 该操作的耗时长度与DELTA表上的数据量有关,务必打开HStore的清理线程,确保HStore表的及时清理。 仅在8.3.0.100及以上集群版本支持第二个可选参数partitionName,因此8.3.0.100及以上集群版本不支持使用call调用此函数(call不支持重载) 示例: 1 SELECT hstore_full_merge('reason_select','part1');
  • autovacuum_max_workers 参数说明:设置能同时运行的自动清理线程的最大数量,该参数的取值上限与max_connections和job_queue_processes大小有关。 参数类型:SIGHUP 取值范围:整型 最小值为0,表示不会自动进行autovacuum。 理论最大值为262143,实际最大值为动态值。计算公式为“262143 - max_inner_tool_connections - max_connections - job_queue_processes - 辅助线程数 – autovacuum的launcher线程数 - 1”,其中辅助线程数和autovacuum的launcher线程数由两个宏来指定,当前版本的默认值分别为20和2。 默认值:4
  • gtm_option 参数说明: GaussDB (DWS)场景下,指定GTM运行模式。该参数仅8.2.1及以上集群版本支持。 GTM模式:常规模式,由GTM统一管理运行中的事务,以及XID和 CS N的分配工作。 GTM-Lite模式:GTM只负责XID的分配和CSN的更新,不再负责全局事务管理。GTM-Lite模式适用于高并发,短查询的TP场景,可以在保证事务一致性的情况下提升查询性能。 GTM-Free模式:分布式事务只支持写外部一致性,不具有读外部一致性。实时数仓场景下设置该模式不生效。 参数类型:POSTMASTER 取值范围:枚举类型 gtm或0:表示开启GTM模式。 gtm-lite或1:表示开启GTM-Lite模式。 gtm-free或2:表示开始GTM-Free模式。 默认值:gtm GaussDB(DWS)和GTM都有相同含义的gtm_option参数,对于GTM和GTM-Lite两种模式,一定要在gaussdb和gtm上设置为相同的模式,否则会出现业务报错无法执行的问题。 GTM-Free模式可以通过enable_gtm_free = on或gtm_option = gtm-free的任一方法开启。 设置非GTM-Free模式时,enable_gtm_free 必须设置为off。 GTM-Free模式仅在混合云与ESL场景设置后生效。
  • autovacuum_max_workers_hstore 参数说明:设置Autovacuum_max_workers里面,能同时运行的专用于清理hstore的自动清理线程的最大数量。 参数类型:SIGHUP 取值范围:整型 默认值:1 当需要使用hstore表时,一定要同步修改以下几个参数的默认值,否则会导致hstore表性能严重劣化,推荐的修改配置是: autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=true。
  • enable_hstore_keyby_upsert 参数说明:用于控制是否开启hstore表对于批量upsert的特定优化,针对前端可以保证不会并发upsert到同一行且是全列upsert的场景,建议开启,性能会有较大提升,该参数仅8.3.0及以上集群版本支持。 参数类型:USERSET 取值范围:布尔型 on表示开启对hstore表上的upsert特定优化。 off表示关闭对hstore表上的upsert特定优化,走老的流程。 默认值:off
  • 语法格式 1 2 3 4 UPDATE [/*+ plan_hint */] [ ONLY ] table_name [ * ] [ [ AS ] alias ] SET {column_name = { expression | DEFAULT } |( column_name [, ...] ) = {( { expression | DEFAULT } [, ...] ) |sub_query }}[, ...] [ FROM from_list] [ WHERE condition ];
  • 示例 创建表reason_update: 1 2 3 4 5 6 CREATE TABLE reason_update ( TABLE_SK INTEGER , TABLE_ID VARCHAR(20) , TABLE_NA VARCHAR(20) )WITH(ORIENTATION=COLUMN, ENABLE_HSTORE=ON); 向表reason_update中插入数据: 1 INSERT INTO reason_update VALUES (1, 'S01', 'StudentA'),(2, 'T01', 'TeacherA'),(3, 'T02', 'TeacherB'); 对表reason_update执行UPDATE操作: 1 UPDATE reason_update SET TABLE_NA = 'TeacherD' where TABLE_SK = 3;
共100000条