Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, preciso de uma ajuda
Quero utilizar o comando
SET SQL_SAFE_UPDATES = 0;
depois, quero usar um comando de substituição de caractere
UPDATE tabela SET coluna = REPLACE (coluna, 'caractere_antigo' , 'novo_caractere');
e pra finalizar:
SET SQL_SAFE_UPDATES = 1;
para voltar ao modo "SQL_SAFE_UPDATES" original;
se eu só colocar pra rodar, o Mysql só considera a minha ultima linha de comando, o "SET SQL_SAFE_UPDATES = 1;"
Então, pra dar certo, eu teria que realizar uma linha de cada vez.
Pesquisei na internet e achei o comando WAITFOR DELAY, mas o meu mysql retorna a seguinte mensagem:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near WAITFOR DELAY '00:00:01'; at line 1;
Alguém sabe uma solução?
O script utilizado foi:
SET SQL_SAFE_UPDATES = 0;
WAITFOR DELAY '00:00:01';
UPDATE tabela SET coluna = REPLACE (coluna, 'caractere_antigo' , 'novo_caractere');
SET SQL_SAFE_UPDATES = 1;Sou iniciante, ainda não não consegui entender
Entendi que consigo verificar o estado do sql_safe_updates com o comando SHOW VARIABLES
mas não imaginei como usaria o while assim
Eu só quero fazer a substituição de "?" por algum número, não sei se realmente precisa zerar o sql_safe_updates, mas por ser caractere especial, acredito que sim
Não conheço muito a sintaxe exata do MySql , apenas dei uma ideia genérica.
Um while lendo a variável até que ela fique no estado requerido talvez resolva
https://stackoverflow.com/questions/9695852/how-to-check-if-sql-safe-updates-is-on/9695909