概述
更新数据
使用相同的 tag 和 time index 更新数据
更新操作可以通过插入操作来实现。 如果某行数据具有相同的 tag 和 time index,旧数据将被新数据替换,这意味着你只能更新 field 类型的列。 想要更新数据,只需使用与现有数据相同的 tag 和 time index 插入新数据即可。
有关列类型的更多信息,请参阅数据模型。
注意
尽管更新操作的性能与插入数据相同,过多的更新可能会对查询性能产生负面影响。
更新表中的所有字段
在更新数据时,默认情况下所有字段都将被新值覆盖, 而 InfluxDB 行协议 除外,它只会更新表中的部分字段。 以下示例使用 SQL 演示了更新表中所有字段的行为。
假设你有一个名为 monitor
的表,具有以下 schema。
host
列表示 tag,ts
列表示 time index。
CREATE TABLE monitor (
host STRING,
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP() TIME INDEX,
cpu FLOAT64,
memory FLOAT64,
PRIMARY KEY(host)
);
向 monitor
表中插入一行新数据:
INSERT INTO monitor (host, ts, cpu, memory)
VALUES ("127.0.0.1", "2024-07-11 20:00:00", 0.8, 0.1);