当前位置: 首页 > news >正文

做采购常用的几个网站重庆建设工程信息网官网中苏业盛

做采购常用的几个网站,重庆建设工程信息网官网中苏业盛,建网站公司锦程,爱装网数据库记录删除功能 在前续文章中我们介绍了如何插入和修改数据库记录,本篇文章会沿用之前的测试数据,介绍如何使用ADI平台定义一个删除目标数据库记录的接口,包括 单主键单表删除、复合主键单表删除、多表删除(整合前两者&#x…

数据库记录删除功能

  在前续文章中我们介绍了如何插入和修改数据库记录,本篇文章会沿用之前的测试数据,介绍如何使用ADI平台定义一个删除目标数据库记录的接口,包括 单主键单表删除、复合主键单表删除、多表删除(整合前两者)三种方式。无论是单表删除还是多表删除,一旦发生异常,,那么默认情况下API平台的整个数据删除事务都将自动回滚。

1.需求说明

  根据前续文章的例子,我们已经实现把幢数据和户数据插入市大数据局的数据库表中。假设数据局提出了新要求:当业务系统的幢和户数据发生删除时,要对已归集到数据局的数据做同步删除。首先让我们回顾下dsj数据库中幢和户的表结构。
dsj数据库的幢表名为dsj_zhuangs,建表语句如下:

create table dsj_zhuangs
(xh bigint(20) not null primary key auto_increment comment '幢序号',zhdjdydm   varchar(50) not null comment '幢登记单元代码',zl varchar(100) comment '幢坐落'  
);
alter table dsj_zhuangs add unique (zhdjdydm);

dsj数据库的户表名为dsj_hus,建表语句如下:

create table dsj_hus
(xh bigint(20) not null primary key auto_increment comment '户序号',hdjdydm   varchar(50) not null comment '户登记单元代码',zhdjdydm  varchar(50) not null comment '所属幢登记单元代码',fbm  varchar(50) comment '房编码',qsc  int(4) comment '起始层',zhzhc  int(4) comment '终止层',fh varchar(50) comment '室号/部位',zl varchar(100) comment '房屋坐落',jzjg  varchar(50)  comment '建筑结构',ghyt  varchar(50)  comment '规划用途',jzmj double(18, 3) comment '建筑面积'
);alter table dsj_hus add unique (hdjdydm);-- 设置户表的外键:zhdjdydm
alter table dsj_hus add constraint hus_fk_zhdjdydm foreign key (zhdjdydm) references dsj_zhuangs(zhdjdydm);

接下来我们再回顾下之前已经写入dsj数据库的数据。
幢表(dsj_zhuangs)数据:
在这里插入图片描述

户表(dsj_hus)数据:
在这里插入图片描述

2.单主键单表删除幢数据

所谓单主键,是指我们要根据这个表的某一个字段作为where条件,来删除对应的数据库记录;这个字段可以不是数据库表真正的主键,它可以是一个唯一键,甚至连唯一键都可以不是(如果不是唯一键或主键,就可以批量删除数据),大家更新实际的场景做选择即可,我们这里以幢表的zhdjdydm(幢登记单元代码)字段作为删除条件。

2.1 实现对dsj_zhuangs表的删除

要通过API平台删除数据库表的数据,那么需要定义一个delete请求的路由,由于delete请求无法以请求体的方式发送json报文,因此只能把入参放到url后面。调用ADI平台实现删除操作的报文结构如下:

primarykey={"tablename":[{"key1":"value1","key2":"value2"},{"key1":"value11","key2":"value2"}]}

primarykey是固定参数名(要么全部小写,要么全部大写),它的值是一个json对象,json对象的格式和咱们之前数据库记录插入或修改类似。
对于我们的幢表,请求参数应该如下:

primarykey={"dsj_zhuangs":[{"zhdjdydm":"110108001001GB00001F0002"}]}

json对象的根节点必须有一个和表名相同的节点名称,即dsj_zhuangs(大小写不敏感),且节点下必须包含主键字段名和字段值;dsj_zhuangs节点可以是一个json对象(意味着只能删除单个幢的记录)或者是一个json数组(意味着可以删除多个幢的记录)。

2.1.1 在API平台定义一个DELETE路由

路由编码可定义为deleteZhuang2dsj,意思是删除大数据平台的幢数据。如图:
在这里插入图片描述

注意调用方式选择delete。

2.1.2 在路由下定义一个分享设置

在分享设置中填写大数据平台的数据库(即目标库)连接方式。如图:
在这里插入图片描述

2.1.3 在分享设置中定义目标库的数据库表

点击分享设置后面的[表定义],在表定义界面点击[新增],填写以下字段,如图:
在这里插入图片描述

注意这里的主键字段要填写zhdjdydm,因为我们要根据已知的zhdjdydm来删除表记录。

2.1.4 调用接口完成幢表数据删除

打开在线接口文档,如图所示:

在这里插入图片描述

我们填写以下json数据:

{"dsj_zhuangs":[{"zhdjdydm":"110108001001GB00001F0002"}]}

为了演示,我们选择了一个下面没有户信息的幢,确保可以删除成功;如果幢下面有户信息,那么我们应该先删除户信息,再删除幢信息,否则会因为外键而报错。
点击[试一下],如图所示:
在这里插入图片描述

可以看到接口调用成功了,再看看dsj库里数据是否被删除了:
在这里插入图片描述
幢数据被成功删除。
值得一提的是,删除操作不会去校验我们传入的主键值在数据库表中是否存在,即使不存在也不会报错。

3.复合主键单表删除户数据

所谓复合主键,是指我们要根据这个表的某几个字段作为where条件,来删除对应的数据库记录;我们这里以户表的zhdjdydm(幢登记单元代码)和hdjdydm(户登记单元代码)字段作为删除条件。

3.1 实现对dsj_hus表的修改

这里我们演示删除幢登记单元代码为110108001001GB00001F0001、户登记单元代码为110108001001GB00001F00010004的户信息,报文结构如下:

{"dsj_hus":[{"zhdjdydm":"110108001001GB00001F0001","hdjdydm":"110108001001GB00001F00010004"}]}
3.1.1 在API平台定义一个DELETE路由

路由编码可定义为deleteHu2dsj,意思是删除大数据平台的户数据。如图:
在这里插入图片描述

注意调用方式选择delete。

3.1.2 在路由下定义一个分享设置

这里顺便给大家介绍一下分享设置的导入导出功能,通过分享设置的导入导出功能,可以把A环境(比如测试环境)的分享设置导入到B环境(比如生产环境),也可以把A路由的分享设置导入到B路由,极大的减少您配置的工作量。
我们上篇文章定义的修改户信息的分享设置和这里要定义的删除户信息的分享设置基本一致,因此,我们先导出那个分享设置,如图:
在这里插入图片描述
得到导出的json配置信息,如图:
在这里插入图片描述
然后打开路由deleteHu2dsj的分享设置列表,点击[导入],如图:
在这里插入图片描述
把刚才导出的json配置信息复制粘贴到这里,点击[导入分享设置],如图:
在这里插入图片描述
导入成功:
在这里插入图片描述
注意红框中的内容,需要您自行修改为与当前分享设置对应功能匹配的描述。例如我把分享编码由updateHu2dsj改为deleteHu2dsj,把分享名称由"修改大数据平台的户数据"改为"删除大数据平台的户数据"。

3.1.3 调用接口完成户表数据删除

打开在线接口文档,如图所示:
在这里插入图片描述
我们填写以下json数据:

{"dsj_hus":[{"zhdjdydm":"110108001001GB00001F0001","hdjdydm":"110108001001GB00001F00010004"}]}

点击[试一下],如图所示:
在这里插入图片描述

可以看到接口调用成功了,再看看dsj库里数据是否被删除了:
在这里插入图片描述
户数据被成功删除。

4.多表删除(整合前两者)

  所谓多表删除,是指我们通过一个接口实现对多张表的删除操作。我们前续文章已经知道如何实现多表插入、多表修改、多表删除也是相同的道理,我们只需要在一个分享设置下进行表定义的时候把这些表都定义进去即可。
  唯一需要您知道的是,当多表删除时,我们的报文应该是这样的:

{"dsj_zhuangs":[{"zhdjdydm":"110108001001GB00001F0001"}],"dsj_hus":[{"zhdjdydm":"110108001001GB00001F0001","hdjdydm":"110108001001GB00001F00010004"}]}

在定义表的时候,户表的操作顺序应该小于幢表,也就是说要先删户表的记录,再删幢表的记录,避免外键关联导致的报错。

5.总结

  到这里,对单主键单表、复合主键单表、多表的删除功能介绍就完成了,无论是哪一种,只要是一个分享设置下的操作,都会确保在同一个事务中执行,一旦发生异常都会自动回滚。另外,我们这里演示的都是手工组装报文进行测试,在实际工作中,大家可以参考上一篇文章的方式,通过API平台自动组装报文并完成数据修改。
  后续我将继续介绍ADI平台其它的重要功能,谢谢大家的阅读!

http://www.yayakq.cn/news/388046/

相关文章:

  • 做app还要做网站么天津免费建设网站
  • 公司建设网站公司长沙官网排名推广
  • 网站建设运维国外免费wordpress
  • 制作网站购买主机开发公司取名字大全
  • 网站制作 推荐新鸿儒给你一个网站怎么做的吗
  • 河南金城建设工程有限公司网站wordpress列表图片alt属性
  • 网站 seo贵阳网站建设技术托管
  • 设计师常用的网站设计师拥有的设计导航
  • 广告公司招聘哪些职位宁波正规优化seo软件
  • 网页设计特效网站网站运营与管理实训报告
  • 贵州网站开发哪家好有没有接活做的网站
  • 建设部网站查资质6安卓系统开发培训
  • 电商网站难做吗会展设计是什么专业
  • 网站网址查询工具国外对网站开发的研究
  • sem网站推广怎么做用什么程序做网站最好优化
  • 北京住房和城乡建设部官方网站广州建设水务局网站
  • 网站大专大型门户网站建设报价表
  • 哪些人是建网站的网站建设市场行情
  • 建设网站入不入无形资产做自媒体需要关注什么网站
  • 网站建设与维护考题怎么做网站关键词库排名
  • 广东快速做网站公司哪家好注册公司需要什么费用
  • 1688关键词怎么优化苏州首页关键词优化
  • 做面条的网站wordpress前台投稿
  • 国家小城镇建设政策网站物联网工程专业就业方向及前景
  • 网上学做网站中国建设工程网站
  • 网站建设好友蚌埠的网站建设
  • 怎么建设58同城网站做网站如何给图片命名
  • 网站建设费用大概多少钱厦门亚龙网站建设
  • phpstudy 网站空白宁波网站建设icp备
  • 珠海网站制作网络推广妙影免费模板下载