Hoi,
In een van mijn tables moet ik een string vervangen door een andere. Heb hier geen ervaring mee om dit binnen een tekenreeks te doen.

Wie kan mij een SQL UPDATE voorbeeld geven adhv volgend voorbeeld:

in table 'products' field 'products.description'
zoek en vervang 'auspuff' met 'uitlaat'

Met dank
UPDATE tabel SET kolom = 'nieuwe waarde' WHERE kolom = 'oude waarde'
Bij jouw dus zo:
UPDATE products SET products.description = 'uitlaat' WHERE products.description = 'auspuff'
hier is het voor sql:

UPDATE products SET products.description = 'uitlaat' WHERE products.description ='auspuff'
Bedankt, simpel maar was het ff kwijt.
Gaat toch niet goed:
UPDATE `description`
SET `description`.`products_description` = 'GatenDiam'
WHERE `description`.`products_description` = 'Gatendiam'

GatenDiam staat dus ergens in het veld products_description type TEXT
Maar de tekststring 'GatenDiam' wordt niet gevonden.

Iemand als nog een idee?
Aub niet bumpen.

Verder backticks weghalen, en de tabelnaam hoeft in dit geval niet.
Probeer dit eens:
UPDATE
    description
SET
    products_description
        = 'GatenDiam'
WHERE
    products_description
        = 'Gatendiam'
@Jonathan
Dit is toch nog geen bumpen? TS dacht eerst dat de oplossing gevonden was, als die daarna geen nieuw bericht plaatst denk iedereen: "Die was opgelost..."

@wildone
Weet je zeker dat je query goed is? Dat je zoekt op de juiste dingen? Volgens jouw query wil je Gatendiam vervangen door GatenDiam, is dat correct?

Elwin
@Jonathan,
Iedereen heeft het wel over backticks weghalen... Maar als je een tabelnaam bijv "test-naam" hebt heb je toch echt wel nodig.
Ik weet niet, maar is een SQL niet on-hoofletter-gevoelig? Dat PIET dus hetzelfde is als Piet en als piet?
Je moet altijd je query's echo'en dan kun je kijken of het wel werkt in mysql als je dat gebruikt. Indien het daar wel werkt weet je dat het juist is.

Het moet toch echt zo zijn:


UPDATE tabel SET VELD1 = 'GatenDiam' WHERE VELD1 = 'Gatendiam'


Als dit ook niet werkt in je database dan heb je ben ik bang ergens een fout in je veld gemaakt.

En je hoeft geen backticks.

EDIT
Zie je wel wat je fout doet waarvoor `tabel`.`veld` doe gewoon veld
Of anders
tabel.veld
thijs schreef op 28.02.2007 11:44
Iedereen heeft het wel over backticks weghalen... Maar als je een tabelnaam bijv "test-naam" hebt heb je toch echt wel nodig.
Oftewel 'test-naam' kan je beschouwen als slechte naam voor een tabel of kolom.

Doe dan test_naam of testNaam.

Elwin

Reageren