Как избежать случайного удаления данных в SQL?

В своей практике работы, за многие годы я несколько раз видел ситуацию когда программист по ошибке удалял все строки из таблицы (ну или не все но не те что планировалось удалить)

Если вам это знакомо или нет, но вы хотите избежать такого конфуза ответьие на вопрос:

Как можно заранее узнать, какие записи будут удалены при выполнении DELETE?
Зачем заранее? Просто вызвать его и посмотреть, какие записи пропали.
SQL создан для хранения данных, их нельзя удалять.
Заменить DELETE на SELECT * Так как синтаксис SELECT похож на синтаксис простого DELETE то запрос вернет нам строки которые будут удалены.
Сделать DELETE с LIMIT 1; Одну запись не жалко.
Свой вариант. Напишу в комментарии.

Надеюсь вы выбрали правильный вариант! Проверить себя можно на сайте SQLtest.online

11
1 комментарий

Интересная тема! 👍 Ошибочное удаление данных — это реально боль, и хорошо, что поднимаете этот вопрос. Лайк за совет проверять, что удаляется, перед выполнением DELETE! 💡

Слабый момент — не хватает конкретных примеров, как именно можно предотвратить такую ошибку. Может, стоило бы упомянуть про использование WHERE и SELECT перед DELETE, чтобы точно знать, что удаляешь.

Ответить