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
2
A
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);
1
Avez-vous lu ceci?
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), '\')));
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! –