title: “First Row” weight: 4 type: docs aliases:
By specifying 'merge-engine' = 'first-row', users can keep the first row of the same primary key. It differs from the deduplicate merge engine that in the first-row merge engine, it will generate insert only changelog.
{{< hint info >}} first-row merge engine only supports none and lookup changelog producer. For streaming queries must be used with the lookup [changelog producer]({{< ref “primary-key-table/changelog-producer” >}}). {{< /hint >}}
{{< hint info >}}
DELETE and UPDATE_BEFORE message. You can config ignore-delete to ignore these two kinds records.This is of great help in replacing log deduplication in streaming computation.