2009-12-23 7 views
2

J'essaie actuellement d'éditer mon db nommé boh. La table "fichiers" actuelle a un champ appelé "chemin". A l'intérieur du champ path se trouve un chemin d'accès aux fichiers listés dans un dossier, syntaxe "F: \ xxx \ xxx \ xxx \ filename.xxx". Comment puis-je mettre à jour les informations de champ pour remplacer le "F: \ xxx \ xxx \ xxx" afin que juste le nom de fichier existe?Mysql Mise à jour du contenu du champ

Répondre

3

Cela dépend de ce que vous voulez exactement, si vous voulez dépouiller le chemin constant yo u peut utiliser:

UPDATE `table` SET `path` = REPLACE(`path`, 'F:\\xxx\\xxx\\xxx', ''); 

Si vous souhaitez ne garder que la dernière partie après le dernier \, puis commande suivante devrait le faire:

UPDATE `table` SET `path` = SUBSTRING_INDEX(`path`. '\\', -1); 
+0

Merci pour le conseil, je tentais mal car je n'ai pas utilisé le "\\" lors de la suppression du chemin du répertoire. Les accessoires à vous! –

0
UPDATE files 
SET path = REPLACE(path, 'F:\xxx\xxx\xxx\', '') 
WHERE path LIKE = 'F:\xxx\xxx\xxx\%' 

Il est très facile de ruiner vos données avec ces mises à jour massives alors assurez-vous:

  • Essayez d'abord avec une phrase SELECT
  • de sauvegarde de vos données
0

En supposant 'F: \ xxx \ xxx \ xxx \' est pas constant, vous pouvez essayer une instruction comme celle-ci:

UPDATE files SET path = REVERSE(SUBSTR(REVERSE(path), 1, LOCATE(REVERSE(path), '\'))); 
Questions connexes