通过 SQL 删除数据

更新时间:
复制 MD 格式

Go SDK 可执行 DELETE 语句,删除未开启局部事务功能的数据表中的单行数据。

前提条件

  • 安装Tablestore Go SDK并初始化客户端。SQL DML 功能需要 1.9.2 及以上版本,建议使用最新版本。

  • 已为待操作的数据表创建映射关系,且数据表未开启局部事务功能。

  • 使用 RAM 用户时,已授予 SQL_DML 权限。

功能说明

调用 SQLQuery 方法执行 DELETE 语句,删除一行数据。WHERE 条件必须完整指定该行的全部主键列。

func (client *TableStoreClient) SQLQuery(request *SQLQueryRequest) (*SQLQueryResponse, error)

以下示例删除 example_table 中主键为 tenant_id=1pk='row1' 的数据。

request := &tablestore.SQLQueryRequest{Query: `
DELETE FROM example_table
WHERE tenant_id = 1 AND pk = 'row1'`}

response, err := client.SQLQuery(request)
if err != nil {
    log.Fatalf("SQLQuery failed: %v", err)
}
fmt.Println("AffectedRows:", response.AffectedRows)

参数说明

SQLQueryRequest 包含以下参数。

名称

类型

说明

Query(必选)

string

要执行的 DELETE 语句,用于指定映射表和目标行的完整主键。

返回值

SQLQueryResponse 包含以下与执行结果直接相关的字段。

字段

类型

说明

AffectedRows

int64

受影响的行数。

StmtType

SQLStatementType

SQL 语句类型。本操作返回 SQL_DELETE