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

SQL

MySQL

09/08/2018

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

Curtidas 0

Melhor post

Felipe Morais

Felipe Morais

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/
GOSTEI 9

Mais Respostas

Calebe Menezes

Calebe Menezes

09/08/2018

Há alguma maneira de fazer isso no MySql via código? (trigger por exemplo)
GOSTEI 0
Carlos Arantes

Carlos Arantes

09/08/2018

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?.
GOSTEI 0
POSTAR