• 替换

REPLACE 的工作方式类似于 INSERT,但它会在插入新文档之前将具有相同ID的先前文档标记为已删除。

如果您想进行原地更新,请参阅 此部分

SQL REPLACE

SQL REPLACE 语句的语法如下:

替换整个文档:

REPLACE INTO table [(column1, column2, ...)]
    VALUES (value1, value2, ...)
    [, (...)]

仅替换选定字段:

REPLACE INTO table
    SET field1=value1[, ..., fieldN=valueN]
    WHERE id = <id>

请注意,在此模式下只能通过 id 进行过滤。

注意:部分替换需要 Manticore Buddy。如果它不起作用,请确保 Buddy 已安装。

有关 UPDATE 与部分 REPLACE 的更多信息,请阅读 此处

请参阅示例以获取更多详细信息。

JSON REPLACE

  • /replace:

    /index 是一个别名端点,工作方式相同。

  • 类似 Elasticsearch 的端点 <table>/_doc/<id>:

    NOTE: Elasticsearch-like replace requires Manticore Buddy. If it doesn't work, make sure Buddy is installed.

  • 部分替换:

    <table name> 可以是表名,也可以是 cluster:table 格式。如果需要,可以进行跨特定集群的更新。

    注意:部分替换需要 Manticore Buddy。如果它不起作用,请确保 Buddy 已安装。

请参阅示例以获取更多详细信息。

SQL:

REPLACE ... SET:

JSON

Elasticsearch-like

注意:部分替换需要 Manticore Buddy。如果它不起作用,请确保 Buddy 已安装。

Elasticsearch-like 部分替换:

注意:部分替换需要 Manticore Buddy。如果它不起作用,请确保 Buddy 已安装。

Elasticsearch-like 在集群中进行部分替换:

PHP:

Python:

Javascript:

java:

C#:

TypeScript:

Go:

REPLACE 适用于实时表和渗透表。你不能在普通表中替换数据。

当你执行 REPLACE 时,之前的文档不会被移除,而是被标记为已删除,因此表的大小会随着时间的推移增加,直到发生块合并。要强制进行块合并,请使用 OPTIMIZE 语句

批量替换

你可以一次替换多个文档。查看批量添加文档以获取更多信息。

HTTP:

PHP:

最后更新于