Fórum Erro de sintaxe aspas #526569
22/07/2015
0
grant all on *.* to alan@"%" identified by "1234";
No "%"
Mensagem: Syntax erro: unexpected "%" (double quote text)
Posso executar mesmo assim ou tem como tirar esse erro?
Alan Mario
Curtir tópico
+ 0Posts
23/07/2015
Jothaz
Substitua e teste.
Se continuar dando erro o motivo será outro.
Gostei + 0
25/07/2015
Alan Mario
[img]http://arquivo.devmedia.com.br/forum/imagem/312853-20150725-182317.jpg[/img]
Gostei + 0
27/07/2015
Jothaz
[img]http://arquivo.devmedia.com.br/forum/imagem/312853-20150725-182317.jpg[/img]
O comando funciona e faz o esperado?
Se sim, provavelmente o software de gerenciamento esta retornando um erro, porém o bd não.
Não acho aconselhável utilizar ", pois a maioria dos bd´s trabalha com '. O que pode complicar a portabilidade.
Gostei + 0
27/07/2015
Alan Mario
Gostei + 0
27/07/2015
Jothaz
Não erro! A ferramenta esta correta pois eu nunca vi " funcionar no SQL. Normalmente usa-se '. Então como estas ferramentas funcionam com qualquer bd a ferramenta faz o correto e destaca como erro.
Talvez esta seja uma das coisa que funciona no MySQL e não funciona em nenhum outr bd.
Pode ser até que a ferramente troque o " por ' na hora de enviar para o bd e por isso funciona.
Cara tem décadas que não uso MySQL (prefiro milhões de vezes o PostgreSql), mas faça um teste use a interface nativa do MysQl e tente executar o comando com ".
Se funcionar é porque o MySQL aceita, agora todos os outros bancos que trabalho não aceita.
Gostei + 0
27/07/2015
Alan Mario
Gostei + 0
27/07/2015
Jothaz
Faça o teste mesmo.
Estou tão acostumado a utilziar ' que sinceramente nunca uso ".
Fiz um teste no SQL Server e retorna erro:
declare @tab as table (n char(5))
insert into @tab (n) values ("oi")
insert into @tab (n) values ('oi')
select * from @tab
Mensagem 128, Nível 15, Estado 1, Linha 2
The name "oi" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
Gostei + 0
27/07/2015
Alan Mario
Gostei + 0
27/07/2015
Marilia Silva
Isso pode ajudar a esclarecer mais o assunto.
[url]http://elias.praciano.com/2015/04/como-escrever-strings-incluindo-aspas-e-caracteres-especiais-no-mysql/[/url]
Gostei + 0
27/07/2015
Alan Mario
Gostei + 0
27/07/2015
Marilia Silva
Tudo bem, pois o Jothaz já esclareceu essas questões.
Gostei + 0
28/07/2015
Jothaz
O poder e a beleza do SQL reside em ser, em tese, universal e poder ser usado em quem BD. Para manter este universalidade a American National Standards Institute (ANSI) adaptou e padronizou o SQL. A ideia é criar uma padronização da linguagem que poderia ser utilizada em qualquer bd.
só que o MySQL não segue este padrão ou segue o padrão dele(tem gente que acha isto uma vantagem eu não), então algumas coisas que funcionam no MySql não funcionam em outros bd´s. E o o uso do " é uma delas.
Principalmente se você for iniciante e pretende ser profissionalizar e utilizar outros bd´s aconselho a sempre usar suas queries o mais aderente ao padrão ANSI possível.
Isso pode ajudar a esclarecer mais o assunto.
[url]http://elias.praciano.com/2015/04/como-escrever-strings-incluindo-aspas-e-caracteres-especiais-no-mysql/[/url]
No caso o artigo trato do "caractere de escape" comum a quase todas as linguagens para manipulação de caracteres especiais.
Gostei + 0
28/07/2015
Alan Mario
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)