MySQL - Leerzeichen suchen und löschen?

splat

Erfahrenes Mitglied
Hallo,
ich habe hier den Auftrag in einer gut gefüllten DB (MySQL) alle Leerzeichen aller Einträge in einer Spalte zu löschen. Gibt es für so etwas eine Möglichkeit? Oder vielleicht eine Art von Script?
Es geht um Artikelnummern die keine Leerzeichen mehr enthalten dürfen.

Habe auch schon längere Zeit erfolglos gegoogelt. Entweder ich suche falsch, oder man muss das wirklich über ein Script machen. Hat hier jemand eine Idee?

Gruß, Marc
 
hmm ich habe mal in der mysql doku geguckt, aber auch nichts gefunden.
ich gehe jetzt einfach mal davon aus, dass du auch php benutzt.
dann hier ein kleines skript:

PHP:
$entries = mysql_query('SELECT id, artikelnummer FROM artikel');
while($row = mysql_fetch_array($entries)){
  $replace = mysql_query('UPDATE artikel SET artikelnummer="'.replace(" ", "", $row[artikelnummer].'" WHERE id="'.$row[id].'"');
}

//greets
//bad taste
 
Hi!
Vielen Dank für deine Antwort!
Das mit dem Script ist ne gute Idee, php nutze ich.. ja
Allerdings bekomme ich in Zeile 5 folgenden Fehler:
Fatal error: Call to undefined function: replace() in /www/admin/replace.php on line 7

Wieso sollte er die Funktion nicht kennen?! :-|
habe MySQL 4.0.x und PHP 4.3.9

oder stimmt vielleicht irgendetwas mit der Schreibweise nicht?

Meine replace.php:
PHP:
<?
include("../config.php");
$entries = db_query('SELECT id, artikelnr FROM products');
while ($row = mysql_fetch_array($entries)) {
	$replace = db_query('UPDATE artikelnr SET artikelnr="'.replace(" ", "", $row[artikelnr].'" WHERE id="'.$row[id].'"'));
} 
?>
 
kein Wunder das das nicht geht mit "replace" alleine.. hab das mal abgeändert, aber funktionieren will es immernoch nicht richtig..
Bin zwar schon ein Stückchen weiter, aber was jetzt faul ist weiß ich auch nicht :-/

Notice: Use of undefined constant artikelnr - assumed 'artikelnr' in /www/admin/replace.php on line 5
Notice: Use of undefined constant id - assumed 'id' in /www/admin/replace.php on line 5
Can't execute query

UPDATE artikelnr SET artikelnr="F140324" FROM products WHERE id="41"

MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM products WHERE id="41"' at line 1

This script cannot continue, terminating.


Sieht hier jemand noch einen Fehler?

PHP:
<?php
include("../config.php");
$entries = db_query('SELECT id, artikelnr FROM products');
while ($row = mysql_fetch_array($entries)) {
    $str_replace = db_query('UPDATE artikelnr SET artikelnr="'.str_replace(" ", "", $row[artikelnr]).'" FROM products WHERE id="'.$row[id].'"');
}
?>
 
Zuletzt bearbeitet:
mmh das Problem ist ja das ich nicht nur einen Eintrag editieren möchte.
Ich habe Einträge ohne, und welche die noch mit Leerzeichen besetzt sind.. Schön wär es halt wenn er alle Einträge durchgehen würde und alle updated die nen Leerzeichen enthalten.. entsprechend dann mit dem Eintrag ohne Leerzeichen.
 
cool das funktioniert ja!

Query OK, 940 rows affected (0.05 sec)
Rows matched: 3846 Changed: 940 Warnings: 0 :)

Vielen vielen Dank
- Marc
 

Neue Beiträge

Zurück