Frage von MrBekannt, 76

SQL Befehl funktioniert nicht, was ist falsch?

Guten Tag,

ich bin dabei meine Website zu optimieren und will die Bilder auf eine Subdomain auslagern, allerdings bekomme ich diesen SQL Befehl nicht zum laufen

UPDATE wp_posts SET post_content = REPLACE(post_content, 'deine-domain.de/wp-content/uploads/', '/media.deine-domain.de/uploads');

Was ist falsch? Ich verzweifle langsam.

Antwort
von Alextoexplain, 37

Hello there,

ich seh da jetzt auch kein Problem bei. Was aber sein könnte ist, dass du SAFE UPDATES aktiviert hast. Dann würde dein Befehl nicht klappen. SAFE UPDATES sind ein Mechanismus, der unterbindet, dass man UPDATE- oder DELETE-Befehle ausführen kann, die nicht mit einer WHERE-Bedingung über den Primärschlüssel oder eine LIMIT-Statement eingeschränkt wurden - das hängt einfach damit zusammen, dass man das im Eifer des Gefechts gerne mal vergisst und dann die ganze Tabelle geschrottet wird.

Versuch mal erst den Befehl

SET SQL_SAFE_UPDATES = 0;

auszuführen und versuch es dann nochmal.

MfG

Alex

Kommentar von MrBekannt ,

Hat mir auch nix gebracht ich denke die phpmyadmin version muss geupdated werden 

Antwort
von maximilianus7, 29

also: ich hab deine sql-anweisung ausprobiert: sie ist syntaktisch korrekt und funktioniert. wenn die meldung "0 Datensätze betroffen" kommt, dann ist das kein Fehler, sondern eine information. wahrscheinlich hast du die anweisung schon mal ausgeführt. danach gibt es nichts mehr zu "replacen".

schau mal, ob das so ist.

mit der phpmyadmin -version hat das absolut nichts zu tun. 

Kommentar von MrBekannt ,

Nein es wurde nix geändert, darum fragte ich ja hier

Kommentar von maximilianus7 ,

dann kommt der suchstring in deiner tabelle nicht vor? "/" am ende zuviel? gross/klein-schreibung?

Antwort
von webflexer, 63

Lasse dir doch mal den mysql Error zurückgeben, das ist meist sehr hilfreich um den Fehler einzugrenzen!

Kommentar von MrBekannt ,

Das Problem ist dort kommt kein Fehler, sondern einfach nur das 0 Datensätze verarbeitet wurden oder sowas. Aber es kommt wenn ich es einfüge eben immer die Meldung "unerwartetes Zeichen" 

Kommentar von MschesByte ,

Oder sowas :D

Bist du dir sicher, dass du folgendes nicht meinst:


UPDATE wp_posts SET post_content = REPLACE(post_content,
'deine-domain.de/wp-content/uploads/',
'/media.deine-domain.de/uploads/');

Ansonsten bitte mal Fehlermeldung kopieren, weil es an deinen Datensätzen liegen könnte.


Kommentar von MrBekannt ,

So soll ist es eigentlich

UPDATE wp_posts SET post_content = REPLACE(post_content,
'http://deine-domain.de/wp-content/uploads/', 'http://media.deine-domain.de/uploads');

Aber der Code wird eben nicht akzeptiert, weil das so anscheinend nicht richtig ist :/ 

Steht eben unerwartetes Zeichen, weil der Befehl eben scheinbar falsch geschrieben ist mit den  ->'<- Zeichen etc

Kommentar von MschesByte ,

Also ich habe mir einfach eine Test-Tabelle erstellt und den Befehl Copy&Paste mäßig ausgeführt, keine Probleme.

Nur zur Sicherheit: Wie führst du den Befehl aus? Wenn php, bist du dir sicher, dass der Befehl so ankommt, wie du willst?

Kommentar von MrBekannt ,

Ich glaube wie oben gesagt das phpmyadmin ein update braucht

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten