2015-04-20 3 views
0

Вот что я продолжаю удалять строки в MySQL Workbench (это уже третий раз), потому что я обычно открываю вкладку для каждой таблицы, откуда мне нужно просматривать данные , и я перерабатываю эту же вкладку (чтобы не засорять ее), так что, скажем, я открываю вкладку пользователей, чтобы просматривать данные 24-го идентификатора пользователя, но тогда мне нужно увидеть данные от пользователя с ID 26, поэтому я просто заменяю WHERE part id = 26 или что-то еще, но иногда я также делаю DELETE-инструкции, но не закрываю вкладку, так что, скажем, через неделю я хочу посмотреть на пользователя с идентификатором 28, перейти на вкладку «Пользователи» и просто заменить часть WHERE думает, что это оператор SELECT только для моего ужаса, чтобы найти инструкцию DELETE.Более безопасный способ удаления данных в Workbench MYSQL, чем его безопасный режим

Итак, что я могу сделать для безопасного удаления данных, например, для всплывающего окна, которое вы хотите сказать, действительно ли вы хотите удалить это? Поэтому я знаю, что это заявление на удаление. Конечно, я мог бы посмотреть утверждение, если это SELECT или DELETE, и я пробовал, но я делаю много операторов SELECT и запросов, которые я хочу увидеть, если есть более безопасный способ. Безопасный режим, свойственный Workbench, работает для общих инструкций удаления, но не для конкретных (WHERE X). Может быть, в MySQL Workbench нет такого варианта, но есть еще одно альтернативное программное обеспечение? И да, я глупый и небрежный, и стараюсь привлечь внимание, но я делаю много запросов каждый день и не хочу снова выскакивать

ответ

1

Хороший способ справиться с этим - использовать транзакции;

Например

delete from users where id = 2 

Как безопасный охранником вы бы затем обернуть это заявление в сделке, которая катится назад.

start transaction; 
delete from users where id = 2 
rollback; 

Теперь единственный способ удалить пользователя будет выбрать только вторую строку или изменить rollback к commit и запустить весь запрос.

На другой заметке вы можете написать вышеуказанный запрос, чтобы увидеть изменения в своей транзакции, например.

start transaction; 
select * from users where id = 2; # user exists 
delete from users where id = 2; 
select * from users where id = 2; # user gets deleted 
rollback; 
+0

Спасибо, это хороший способ, и двойной запрос служит столь же хорошим, спасибо – Sismetic

Смежные вопросы