更新插入记录
更新时间:2025-04-18
POST
http://{host}/v{version}/row?upsert
将一条或者一批记录插入到指定的表中。插入语义为Upsert(Insert or Update),即,当记录的主键已存在时,则用新的数据整体覆盖旧的数据。当插入一批时,该接口暂不支持批次的原子性。该接口可用于批量迁移/灌库等场景。
权限说明
鉴权认证机制的详细内容请参见鉴权认证
请求参数
Headers 参数
除公共头域外,无其它特殊头域
URL 参数
version
string
API版本号,当前取1。
必选
host
string
"{实例IP}:{实例Port}"
必选
Body 参数
database
string
指定库的名称。
可选
table
string
指定表的名称。
可选
rows
array
插入的数据集,单个批次最大支持1000条。
可选
显示子属性
隐藏子属性
items
object {0}
显示子属性
隐藏子属性
请求结构
POST /v{version}/row?upsert HTTP/1.1
HOST: {Endpoint}
Authorization: {Authorization}
{
"database": "db_name",
"table": "table_name",
"rows": [
{
"id": "00001",
"username": "alice",
"vector_field": [
0.2323234,
0.34534545,
0.9837234
],
"sparse_vector_field" : [[1, 0.56465], [100, 0.2366456], [10000, 0.543111]],
"binary_vector": "AAAAAAAAAAAAAAAAAAAAew=="
}
]
}
示例代码
请求示例
curl --location --request POST 'http://vdb.nXWNyPCOSLci.vdb.bj.baidubce.com/v1/row?upsert' \
--header 'Authorization: Bearer account=root&api_key=eC4bLRy2va******************************' \
--header 'Content-Type: application/json' \
--data '{
"database": "db_name",
"table": "table_name",
"rows": [
{
"id": "00001",
"username": "alice",
"vector_field": [
0.2323234,
0.34534545,
0.9837234
],
"sparse_vector_field" : [[1, 0.56465], [100, 0.2366456], [10000, 0.543111]],
"binary_vector": "AAAAAAAAAAAAAAAAAAAAew=="
}
]
}'
返回响应
Headers 参数
除公共头域外,无其它特殊头域
返回参数
code
integer
返回码
可选
msg
string
返回信息
可选
affectedCount
integer
写入成功的记录数
可选
响应示例
{
"code": 0,
"msg": "Success",
"affectedCount": 1
}