2017-01-30 38 views
1

重複する値がある場合に既存のレコードを更新し、 'ON DUPLICATE KEY UPDATE'を使用して、いくつかの列に新しいエントリがあるときに記録します。重複したエントリの既存のレコードを更新し、INFLUX DBの新しいエントリのレコードを挿入する(MySQLの重複キー更新に似ています)

INSERT INTO TestDB 
       (col_1, col_2, col_3, col_4) 
      VALUES 
       (val_1, val_2, val_3, val_4) 
      ON DUPLICATE KEY UPDATE 
       col_2 = VALUES(col_2), 
       col_3 = VALUES(col_3) 

ここで、私はまた、適切なケースが必要です。しかし、私は流入で同じことをする何かを見つけることができません。

流入測定は、私は、重複レコードを挿入するとき、それは私が必要とするものは明らかに新しいタイムスタンプを持つ新しいレコードを挿入する、しかし、流入DBと現在のシナリオでは、この

INSERT TestDB,col_1=val_1,col_2=val_2,col_3=val_3 col_4="val_4" 

のようなものになります重複する値(新しいタイムスタンプ付き)を挿入しようとした場合に最初のレコードを更新し、val_2とval_3が変更された場合にのみ新しいレコードを挿入します。

したがって、同じ結果を達成するために、Influx DBには 'ON DUPLICATE KEY UPDATE'と同等の機能がありますか?

NB:ローカルマシンのinfluxコマンドラインと管理ページ(8083ポート)を使用して測定値を挿入して照会しています。

+0

残念ながら、この機能はまだInfluxDBには存在しません。 [機能要求](https://github.com/influxdata/influxdb/issues/new)を開きます。 –

+0

これに関するいくつかの情報:https://github.com/influxdata/influxdb/issues/2575#issuecomment-102071093 –

答えて

0

InfluxDBは、フィールドが異なっているかどうかに関わらず、流入するレコードのすべてのタグ(時間を含む)が重複している場合、同じレコードを更新します。

すなわち、influxはユニークタグのコンビネーションキーを維持します

関連する問題