PROTEGER STRING SQL - MYSQL
Boa tarde!
Estou importando uns 4000 registros de um banco de dados Oracle para MySQL.
A questão é que alguns nomes possuem apóstrofo, como no nome Mac Donald[ô]s. E o MySQL está entendo que esse apóstrofo fecha a string e dá pau na hora de salvar no banco
Tenho a seguinte string SQL:
Com esse atóstrofo depois da letra d no nome Donald[ô]s, o MySQL acha que é um apóstrofo que fecha a string, sendo que na verdade o apóstro depois da letra s que fecha a string.
Pergunto: Tem como proteger a string que envio para o banco a fim de o MySQL entender quando é um apóstrofo que faz parte da stringo e quando é o apóstrofo que fecha a string?
[ ][ô]s
Estou importando uns 4000 registros de um banco de dados Oracle para MySQL.
A questão é que alguns nomes possuem apóstrofo, como no nome Mac Donald[ô]s. E o MySQL está entendo que esse apóstrofo fecha a string e dá pau na hora de salvar no banco
Tenho a seguinte string SQL:
INSERT INTO tblnomes (id,nome) VALUES (149,[ô]Mac Donald[ô]s[ô])
Com esse atóstrofo depois da letra d no nome Donald[ô]s, o MySQL acha que é um apóstrofo que fecha a string, sendo que na verdade o apóstro depois da letra s que fecha a string.
Pergunto: Tem como proteger a string que envio para o banco a fim de o MySQL entender quando é um apóstrofo que faz parte da stringo e quando é o apóstrofo que fecha a string?
[ ][ô]s
Bem, no postgresql quando acontece isso, eu passo o apostrofe dobrado, isso é ao invés de [ô] eu mando [ô][ô] (não é aspas, são 2 apostrofes), e para isso eu tenho que verificar os campos e substitui onde tem 1 apostrofe , por 2 antes de gravar no banco.
Faça um update no banco alterando o apóstrofo (aspas simples) por ACENTO AGUDO. Então:
Mac Donald[ô]s = Mac Donald's
Se você tem o valor guardado em uma variável ANTES de gravar, utiilize o comado REPLACE
Wpalavra_sem_apostrofo = replace(Wpalavra_com_apostrofo,[Ô][ô][Ô],[Ô]'[Ô])
Mac Donald[ô]s = Mac Donald's
Se você tem o valor guardado em uma variável ANTES de gravar, utiilize o comado REPLACE
Wpalavra_sem_apostrofo = replace(Wpalavra_com_apostrofo,[Ô][ô][Ô],[Ô]'[Ô])
Tópico encerrado , respostas não são mais permitidas