跳到主要内容

delete 删除多条记录

delete 根据过滤条件删除数据库表中多行记录。

Luwak >= 3.0.0, asm.so >= 0.1.4

API

公共参数 metas 对象

名称类型描述
tokenstring访问令牌,当需要授权才能访问时为必填
signaturestring签名
appKeystring当需要签名时为必填
timestampstring, number时间戳,当校验时间误差范围时为必填

请求参数

名称类型描述
methodstringAPI 名称
paramsarrayAPI 参数

method 命名规范是 $entity.delete

params 参数是一个数组。数组第一项为 filters,参考 select

响应结果

返回受影响的行数

示例

场景描述

删除品牌表中主键 id 为 21,22,23 的数据。

请求

{
"jsonrpc": "2.0",
"method": "smartPanda.mdh.brand.delete",
"params": [
[
{
"field": "id",
"operator": "in",
"value": [
21,
22,
23
]
}
]
],
"metas": {
"token": "44ea16b7-3aa1-41a5-81da-8ee9d2b840c2",
"signature": "35b75b6948622f0ec9d3781d3d7f8c76",
"appKey": "NSEA4ETIpBlyB2l9",
"timestamp": 1740705668584
},
"id": "8fc226b6-6123-4de8-a29b-aea2a928d523"
}

响应

{
"jsonrpc": "2.0",
"result": 3,
"id": "8fc226b6-6123-4de8-a29b-aea2a928d523"
}

实体定义

smart_panda 库中 brand 表的定义如下

CREATE TABLE `brand`
(
`id` int AUTO_INCREMENT,
`name` varchar(20),
PRIMARY KEY (`id`)
);

entity 名称是 smartPanda.mdh.brand

实际执行的 SQL

Prepare   DELETE FROM smart_panda.brand WHERE id IN (?, ?, ?)
Execute DELETE FROM smart_panda.brand WHERE id IN (21, 22, 23)