PROTEGER STRING SQL - MYSQL

FBUR 30/04/2010 14:19:51
#340643
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:


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
FRACELO 30/04/2010 14:51:07
#340650
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.
EDERMIR 30/04/2010 20:03:50
#340690
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,[Ô][ô][Ô],[Ô]'[Ô])
Tópico encerrado , respostas não são mais permitidas