---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/yql/syntax/replace_into.md
  - https://ytsaurus.tech/docs/ru/yql/syntax/replace_into.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

# REPLACE INTO

Записывает строки в динамическую таблицу. Для существующих ключей перезаписывает строки целиком, а для новых добавляет значения в таблицу.

Для использования `REPLACE INTO` должны выполняться условия:
- Целевая таблица должна существовать.
- Целевая таблица должна быть [сортированной динамической таблицей](https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/sorted-dynamic-tables.md).
- Целевая таблица должна быть [примонтирована](https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/operations.md#mount_table).
- Записываемые данные должны быть уникальны по ключу.
- Данные не обязаны быть сортированными по ключу - если данные не сортированные, они будут отсортированы средствами YQL, путём запуска `sort` операции.

## Описание

`REPLACE INTO` позволяет выполнять те же операции, что и [INSERT INTO](https://ytsaurus.tech/docs/ru/yql/syntax/insert_into.md), но с важным отличием: в `REPLACE INTO` вставка возможна только в динамические таблицы.

Может использоваться, когда вставляемые данные только частично перезаписывают существующие, и семантика очистки таблицы перед записью `INSERT INTO WITH TRUNCATE` не подходит.

## Использование модификаторов

Аналогично использованию модификаторов в [INSERT INTO](https://ytsaurus.tech/docs/ru/yql/syntax/insert_into.md).

### Полный список поддерживаемых модификаторов записи
* `USER_ATTRS=yson` &mdash; задать пользовательские атрибуты, которые будут добавлены к таблице. Существующие атрибуты будут перезаписаны. Атрибуты должны задаваться в виде yson-словаря.

{% note info %}

Использовать в `USER_ATTRS` системные атрибуты не рекомендуется, поскольку результат их применения для записываемых данных не определён.

{% endnote %}

#### Примеры

```yql
REPLACE INTO my_dynamic_table
SELECT key FROM my_table_source;

REPLACE INTO my_dynamic_table WITH USER_ATTRS="{attr1=value1; attr2=value2;}"
SELECT key FROM my_table_source;
```
