MySql Problem Feldmanipulation

matthias-zimmer

Neuer Benutzer
Beiträge
3
Hallo zusammen!

Ich stehe vor einem (hoffentlich) kleinen SQL Problem und ich würde mich sehr freuen, wenn mir jemand kurz auf die Sprünge helfen könnte!!

Also, ich habe eine kleine Datenbank zur Steuerung meiner Website. Darin finden sich viele Felder und ein "Sammelfeld" Longtext mit lauter Schlagworten. Für die Ausgabesteuerung greife ich u.a. auf dieses Feld zurück. Jetzt möchte ich in diesem Feld einige Schlagworte durch ein anderes Schlagwort ersetzen. Nur wie mache ich dies mit SQL...ich finde immer nur Hinweise, wie man ganze Felder ändert. Ich will aber nur einen kleinen Ausschnitt im dem Feld ändern.
Über einen kleinen Hinweis würde ich mich sehr freuen!!

Viele Grüße
Matthias
 
Werbung:
AW: MySql Problem Feldmanipulation

Das Ersetzen von Teilen einer Text-Spalte ist in SQL schwierig, da es auch dem Prinzip der SQL-Datenbanken (1. Normalform ) also einem "Sammelfeld" widerspricht. Das Ersetzen kann dann einfacher im Programm (z.B. PHP erfolgen). D.h. den Wert der Spalte lesen, in PHP ändern, den neuen Wert wieder speichern (UPDATE).

Mit Stored Procedures incl. SUBSTR(), REPLACE(), REGEX() und diversen anderen Befehlen läßt es sich eventuell mit etwas Mühe mit SQL schaffen.

Wenn Du ein kleines Beispiel lieferst (Tabellenstruktur, Beispieldaten) können wir Dir vielleicht helfen.

Grüße
Thomas
 
AW: MySql Problem Feldmanipulation

Hallo Thomas,

so was in der Richtung hatte ich mir schon gedacht :-(.
Aber man soll die Hoffnung ja nicht aufgeben.

Am einfachsten scheint mir die Methode mit PHP zu sein.

Aber evtl. könnt ja etwas zaubern :).

Hier ist der Aufbau der zentralen Tabelle:
http://www.natur-server.de/SQl.jpg
Im Feld schlagwort soll ein einzelner Begriff getauscht werden.
Die Bedeutung der einzelnen Felder spielt hier ja keine Rolle.

Viele Grüße und Danke!
Matthias

P.S.
Früher habe ich so etwas sehr dirty gelöst, in dem ich die DB exportiert und dann mit einem Editor "Suchen und ersetzen" den Begriff geändert und dann die DB wieder importiert habe.
 
AW: MySql Problem Feldmanipulation

Hallo Matthias,

der Inhalt der Spalte sieht leider so chaotisch aus wie befürchtet. Das Feld sollte dringend normalisiert werden in eine "tier_hat_eigenschaft" Tabelle oder so was.

Das mit dem DUMP der Datenbank in eine Textdatei, editieren und zurück ist natürlich auch eine Lösung. Am Besten Du baust Dir was in PHP für den Update der Spalte. Auf die Schnelle sehe ich das keine andere Lösung.

Viel Erfolg!

Grüße
Thomas
 
Werbung:
AW: MySql Problem Feldmanipulation

Hallo Thomas,

dann mache ich mich mal an die PHP Lösung.

Das Feld ist etwas chaotisch gefüllt...zugegeben...aber es macht mit wenig Aufwand genau das, was es soll. Alle Schlagworte jetzt in extra Felder auszulagern, wäre ein irrer Aufwand...ich schau mal. Zur Steuerung reicht es völlig, dass genau der richtige String im Feld vorkommt, was da noch so rumfliegt ist völlig egal. Und da es nur wenige tausend Datensätze sind, ist das System nicht ausgebremst.

Erstmal lieben Dank für Deine Hinweise.

Schönen Sonntag noch...
Matthias
 
Zurück
Oben