Удаление данных
Важно
Поддерживается только для строковых таблиц. Поддержка функциональности для колоночных таблиц находится в разработке.
Вместо DELETE FROM
для удаления данных из колоночных таблиц можно воспользоваться механизмом удаления строк по времени — TTL. TTL можно задать при создании строковой или колоночной таблицы (CREATE TABLE
) или при их изменении (ALTER TABLE
).
Удалите данные из строковой таблицы с помощью оператора DELETE.
Примечание
Предполагается, что вы уже создали таблицы ранее на шаге Создание таблиц и заполнили их данными на шаге Добавление данных в таблицы.
DELETE
FROM episodes
WHERE
series_id = 2
AND season_id = 5
AND episode_id = 12
;
-- Посмотреть результат:
SELECT * FROM episodes WHERE series_id = 2 AND season_id = 5;
-- YDB не знает об изменениях, имевших место в начале транзакции,
-- поэтому сначала выполняет чтение. Невозможно выполнить UPDATE или DELETE,
-- если таблица уже была изменена в рамках текущей транзакции. UPDATE ON и
-- DELETE ON позволяют читать, обновлять и удалять несколько строк из одной таблицы
-- в рамках одной транзакции.
$to_delete = (
SELECT series_id, season_id, episode_id
FROM episodes
WHERE series_id = 1 AND season_id = 1 AND episode_id = 2
);
SELECT * FROM episodes WHERE series_id = 1 AND season_id = 1;
DELETE FROM episodes ON
SELECT * FROM $to_delete;
-- Посмотреть результат:
SELECT * FROM episodes WHERE series_id = 1 AND season_id = 1;