Quais as formas para se evitar um update sem a cláusula WHERE?

09/08/2018

0

Boa noite a todos, estou precisando de uma ajuda.

Gostaria de reforçar a segurança do meu banco de dados ao máximo que eu puder. E eu queria saber quais são as formas possíveis de se evitar um grande vulnerabilidade no mesmo, o update sem a cláusula WHERE. Para mim não tem problema se for via código, ou configuração no SGRBD, eu gostaria de saber como posso evitar que uma query dessa, independente de onde ela for de onde ela for executada.
Estou usando o MYSQL Worckbench.
Dionísio Reis

Dionísio Reis

Responder

Post mais votado

09/08/2018

O MySQL possui uma feature de segurança chamada "Safe Update", onde ele admoesta instruções SQL executadas sem a cláusula "WHERE". Por exemplo, ao executar este comando:

UPDATE Nome_Table SET Campo_X = 0;


O MySQL irá dizer:


“You are using safe update mode and you tried to update a table without a WHERE clause that uses a KEY column.”


Para habilitar esta feature, execute:

SET SQL_SAFE_UPDATES=1;


E para desabilitar:

SET SQL_SAFE_UPDATES=0;


Espero ter ajudado, abraços!

Link para leitura: https://www.xpertdeveloper.com/mysql-safe-update/

Felipe Morais

Felipe Morais
Responder

Mais Posts

13/09/2018

Calebe Menezes

Há alguma maneira de fazer isso no MySql via código? (trigger por exemplo)
Responder

16/10/2018

Carlos Arantes

Olá Dionísio, eu uso a sugestão do Moraissan, pois é mais rápida e segura que outras opções existentes.


Você conseguiu resolver o seu problema?.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar