Requête SQL pour supprimer certains textes de chaque champ dans une colonne spécifique?
Récemment, j'ai recodé un de mes sites, et la structure de la base est un peu différent.
Je suis en train de convertir les suivantes:
*----*----------------------------*
| id | file_name |
*----*----------------------------*
| 1 | 1288044935741310953434.jpg |
*----*----------------------------*
| 2 | 1288044935741310352357.rar |
*----*----------------------------*
:
*----*----------------------------*
| id | file_name |
*----*----------------------------*
| 1 | 1288044935741310953434 |
*----*----------------------------*
| 2 | 1288044935741310352357 |
*----*----------------------------*
Je sais que je pourrais faire une boucle foreach avec PHP, et exploser l'extension de fichier à la fin, et mise à jour chaque ligne de cette façon, mais cela me semble beaucoup trop de requêtes à la tâche.
Est-il de la requête SQL que je pouvais courir qui me permettrait de supprimer le fichier exentision de chaque champ dans la file_name
de la colonne?
source d'informationauteur Josh Foskett
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
REPLACE()
function natif a MySQL pour faire une simple chaîne de caractères de remplacement.Cela devrait fonctionner:
Cette bande de hors la dernière extension, le cas échéant, de
file_name
chaque fois qu'il est exécuté. Il est agnostique à l'égard de l'extension (de sorte que vous pouvez avoir ".foo" un jour) et ne nuira pas à extensionless dossiers.