Articles
ERROR 1064 (42000) Ocorreu um erro na sintaxe SQL durante a importação [duplicado]
On Janeiro 31, 2021 by admin Esta pergunta já tem respostas aqui :
Comentários
- Mostrar códigos completos de criação de gatilhos, não apenas a primeira linha deles (a criação inteira de gatilhos é UMA instrução). E 3-4 linhas antes.
- Adicionado código de gatilho completo
- Uma restauração para um servidor da mesma versão não funciona imediatamente?
- O realce de sintaxe mostra o problema – comentários de várias linhas aninhados (o comentário externo é usado para agrupamento específico da versão, o comentário interno é um no código de criação do acionador) que torna o código quebrado.
- Isso responde à sua pergunta? Como resolver o ERRO 1064 (42000)?
Resposta
A última linha do gatilho estava causando meu problema. Deve funcionar. Veja o comentário de Akina com exemplo
END; */;;
Deve ser
END */;;
Comentários
-
;
após o bloco BEGIN-END ser ignorado (mais precisamente é tratado como uma linha vazia). O acionador comEND
eEND;
foi criado com sucesso. Exemplo – ambos os gatilhos são criados e executados com êxito. - Quando eu removo o; após END no meu caso não tenho mais erros durante a importação. Essa também é a única diferença com outros gatilhos. O que pode estar acontecendo aqui? Isso poderia ser um comportamento estranho da função de importação?
- Em seu exemplo, o / *! 50003 CREATE * / / *! 50017 DEFINER = sintaxe também não é usado
- Talvez este seja um problema da ferramenta que você usa para importar, ou isso é (duvido) dependente da versão? No seu exemplo, a
/*!50003 CREATE*/
/*!50017 DEFINER=
sintaxe também não é usada Este é um código dependente da versão – você pode ler sobre isso no manual do usuário. - Eu uso a ferramenta workbench. V8. MySql versão 5.6.34
Deixe uma resposta