MYSQL Trim
Boris
- datenbank
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..
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!
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
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
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