Jump to content

Koromon

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Comum

About Koromon

  1. Koromon

    Problema de MySQL com Batch

    Olá galera, Criei um arquivo .bat para rodar comandos do MySQL automaticamente, com o agendador de tarefas do computador. Nesse arquivo .bat tem dois tipos de comandos: 1. Inserir dados .txt em uma primeira tabela (I) no MySQL; 2. Inserir os dados da primeira tabela (I) em outra (II) (para criar tipo um histórico de dados); O problema é que esse .bat só faz um dos comandos (inserir dados .txt na primeira tabela) o outro ele ignora. Se eu fizer manualmente pelo MySQL Workbench, roda tudo tranquilo. Alguém imagina o que pode estar acontecendo? Antigamente, eu tive esse mesmo problema em outro projeto, mas o motivo é que eu não colocava ponto e virgula (;) no comando problemático. Nisso, manual rodava, automático não. Mas aconteceu novamente (agora com o insert into), mas dessa vez eu coloquei o (;) e mesmo assim não resolveu. Código utilizado: insert into tabela1 (coluna1, coluna2, coluna3) select coluna11, coluna22, coluna33 from tabela2;
  2. Koromon

    Fazer um comando esperar o outro? WAITFOR?

    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
  3. 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;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.