Steve: Teil aus Array in Mysql löschen

Hallo,

ich habe in einem Feld der MySQL-DB mehrere Zahlen, durch Komma getrennt gespeichert --> (etwa so: (3,4,5,10,14,200)).

Wie ist es nun möglich ein UPDATAE der Spalte durchzuführen, sodass aus dem Feld lediglich die Zahl "10" gelöscht wird?

Vielen Dank für Hilfe,
Steve

  1. Hallo Steve,

    ich habe in einem Feld der MySQL-DB mehrere Zahlen, durch Komma getrennt gespeichert --> (etwa so: (3,4,5,10,14,200)).

    Wie ist es nun möglich ein UPDATE der Spalte durchzuführen, sodass aus dem Feld lediglich die Zahl "10" gelöscht wird?

    mit Hilfe der Funktionen ASCII(), SUBSTRING() und CONCAT() kannst Du dies bewerkstelligen, diese Funktionen sind im MySQL-Handbuch, Stringfunktionen erklärt.

    Viel besser wäre es, wenn Du das kaputte Tabellendesign reparieren könntest. Dann wärst Du auf solche Krücken nicht mehr angewiesen. In eine Spalte einer Zeile gehört ganz genau _ein_ Wert, nicht mehrere.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      danke erstmal für die Info.

      mit Hilfe der Funktionen ASCII(), SUBSTRING() und CONCAT() kannst Du dies bewerkstelligen, ....

      Soweit kann ich mit CONCAT() eine neue Zahl hinzufügen, das funktioniert auch mit...

      $a=84;
      $upda="UPDATE Aloha SET Buddy=CONCAT(Buddy, ',$a') WHERE ID='4'";

      Wie jedoch kann ich aus dem String (2,5,2,15,42,84, 200) eine Zahl wieder entfernen?

      Merci,
      Steve

      1. Hallo Steve,

        mit Hilfe der Funktionen ASCII(), SUBSTRING() und CONCAT() kannst Du dies bewerkstelligen, ....

        Wie jedoch kann ich aus dem String (2,5,2,15,42,84, 200) eine Zahl wieder entfernen?

        Wenn Du eine Zahl entfernen willst, welchen Teilstring musst Du finden und welche Teilstrings musst Du nachher ggf. wieder zusammenfügen?

        Und denke bitte intensiv darüber nach, Dein Tabellendesign zu ändern. Es bereitet Dir nur Probleme. Es bringt Dir keine Vorteile ein.

        Freundliche Grüße

        Vinzenz