Boris: MYSQL Trim

Hallo,

ich habe gerade ein ähnliches Problem wie https://forum.selfhtml.org/?t=192759&m=1286762
Leider bekomme ich hier bei zb.
Update test SET ort = trim(ort) (Test = Tabelle, Ort = Spalte) von Heidi SQL gesagt:

0 rows affected

und das obwohl alleine in der Testtabelle 20 entsprechende Einträge vorhandne sind..

  1. Hi!

    Leider bekomme ich hier bei zb.
    Update test SET ort = trim(ort)
    0 rows affected

    Beachte: wenn sich der Inhalt nicht ändert, ist der Datensatz nicht "affected", auch dann nicht, wenn die Bedingung auch auf ihn zutrifft.

    Dieses Verhalten kann man umstellen, wenn man beim Verbinden das CLIENT_FOUND_ROWS-Flag mitgibt. Dies geht aber nur mit modernen MySQL-APIs.

    Lo!

  2. Hallo Boris,

    Leider bekomme ich hier bei zb.
    Update test SET ort = trim(ort) (Test = Tabelle, Ort = Spalte) von Heidi SQL gesagt:

    0 rows affected

    und das obwohl alleine in der Testtabelle 20 entsprechende Einträge vorhandne sind..

    Gibt es auch Leerzeichen die entfernt werden können? Wenn bei keinem Datensatz Leerzeichen entfernt werden können führt MySQL den Query zwar aus, setzt die Anzahl der betroffenen Datensätze aber auf 0.

    Gruß,
    Tobias

    1. Hallo Tobis,

      Gibt es auch Leerzeichen die entfernt werden können? Wenn bei keinem Datensatz Leerzeichen entfernt werden können führt MySQL den Query zwar aus, setzt die Anzahl der betroffenen Datensätze aber auf 0.

      ein Beispeildatensatz wäre "Hamburg ". Hier müsste Trim doch den Datensatz entfernen oder etwa nicht?

      Gruß Boris

  3. Hello,

    Hallo,

    ich habe gerade ein ähnliches Problem wie https://forum.selfhtml.org/?t=192759&m=1286762
    Leider bekomme ich hier bei zb.
    Update test SET ort = trim(ort) (Test = Tabelle, Ort = Spalte) von Heidi SQL gesagt:

    0 rows affected

    und das obwohl alleine in der Testtabelle 20 entsprechende Einträge vorhandne sind..

    In der Konsole bekomme ich folgende Reaktion bei einem MySQL
    mysql> select version();
    +------------------+
    | version()        |
    +------------------+
    | 5.1.33-community |
    +------------------+

    mysql> select * from beschreibung;
    +-----+-------+---------------+
    | ver | ni    | bild          |
    +-----+-------+---------------+
    | 1   | eins  |               |
    | 2   | zwei  |               |
    | 3   | drei  |               |
    |     | vier  | mein 4        |
    |     | fünf  | mein 5.       |
    |     | sechs | mein 6.       |
    +-----+-------+---------------+
    6 rows in set (0.00 sec)

    mysql> update beschreibung set bild=trim(bild);
    Query OK, 3 rows affected (0.02 sec)
    Rows matched: 6  Changed: 3  Warnings: 0

    mysql> select * from beschreibung;
    +-----+-------+---------+
    | ver | ni    | bild    |
    +-----+-------+---------+
    | 1   | eins  |         |
    | 2   | zwei  |         |
    | 3   | drei  |         |
    |     | vier  | mein 4  |
    |     | fünf  | mein 5. |
    |     | sechs | mein 6. |
    +-----+-------+---------+
    6 rows in set (0.00 sec)

    Die Tabelle ist definiert:

    CREATE TABLE beschreibung (
      ver text NOT NULL,
      ni text NOT NULL,
      bild text NOT NULL
    )  ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Also auch keine "binary"-Spalte dabei...

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de