Kan iemand me helpen?
Ik probeer uit een kolom van een (maria) database een / te verwijderen.

update katten set Url = replace(Url, '/asiel%', 'asiel%') WHERE Url lIKE '%/asiel%%'

Wat doe ik verkeerd?
Om te beginnen, gebruik eens hoofdletters voor de taken die je query doet, en haal die laatste % eens weg?


UPDATE katten SET Url = REPLACE(Url, '/asiel%', 'asiel%') WHERE Url LIKE '%/asiel%'


En een tabel die katten heet? Ik neem aan dat je geen tabel met bijv. honden, muizen, alligators of naakte_molratten hebt. Het klinkt niet bepaalde genormaliseerd. Wat voor data sla je op?
- Ariën - op 06/07/2016 20:23:43

Om te beginnen, gebruik eens hoofdletters voor de taken die je query doet, en haal die laatste % eens weg?




Zelfde resultaat. Het vette gedeelte blijft rood onderstreept.
Een nieuwe opdracht werd gevonden, maar zonder scheidingsteken tussen deze en de vorige opdracht.
En 7x Onverwacht token .
Waarom dat %-teken in je data?
Die % heb je niet nodig in je REPLACE()-functie.
Maar staat ie in de data?
Het lijkt mij dat dat %-teken het probleem is.
- SanThe - op 06/07/2016 20:44:41

Waarom dat %-teken in je data?

omdat er na asiel/ versch. links volgen

UPDATE katten SET Url = REPLACE(Url, '/asiel', 'asiel') WHERE Url LIKE '/asiel'

zelfde melding en vette gedeelte blijft onderstreept
Waar zie je die melding dan? Die query ziet er valide uit? Misschien dat je wel een % moet gebruiken in je LIKE waarde, of verwacht je precies en exacte alleen maar /asiel?
Ik krijg geen syntax-errors in die query. Verder vind ik phpMyAdmin maar matig werken, als ik eerlijk mag zeggen. Mijn voorkeur gaat naar HeidiSQL.
Kan het zijn dat replace niet meer werkt na een update ofzo? Ik probeeerde laatst namelijk ook iets te replacen en zelfde verhaal, terwijl ik weet dat ik het eerder heb gebruikt, ik heb dat toen maar handmatig gedaan maar dit is tveel om handmatig te doen.

Reageren