2009-11-24 5 views
1

mes données dans des tables contient des espaces, donc je me sers cette commande pour tailleritérer mysql fileds et mettre à jour les champs

update results set Field1 = trim(Field1); 

que je fais manuellement pour tous les champs.

Quelqu'un peut-il me fournir un SQL commun pour couper automatiquement le nombre total de fichiers dans un tableau?

Merci,

Répondre

1

qui est impossible. vous devrez mettre à jour chaque colonne. mais vous pouvez gagner du temps comme ceci:

update results 
    set field1 = trim(field1) 
    , field2 = trim(field2) 

Sinon, vous pouvez interroger la table INFORMATION_SCHEMA.COLUMNS pour localiser toutes les colonnes VARCHAR et l'utiliser pour créer des requêtes dans une autre langue comme PHP ou Perl.

1

Vous ne pouvez pas le faire automatiquement dans une instruction, mais ce que vous pouvez faire est la suivante:

SHOW COLUMNS FROM myTable WHERE `Type` LIKE '%char%'; 

Cela vous donnera une liste de tous les champs CHAR et VARCHAR. Boucle à travers ces résultats, la construction d'une instruction SQL:

$temp = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $temp[] = sprintf('`%1$s` = TRIM(`%1$s`)', $row['Field']); 
} 
$sql = "UPDATE myTable SET " . implode(", ", $temp); 
mysql_query($sql); 
+0

merci, je vais essayer et vous faire savoir. – JPro

Questions connexes