Je veux mettre à jour une colonne col
dans le tableau tab
, dont les données sont comme suit (séparés par des virgules, avec la virgule en-tête):Comment écrire ce genre de SQL dans MySQL?
,test,oh,whatever,....,
Ce qui peut être trop long pour afficher, comment puis-je mettre à jour la colonne afin que seuls les premiers 10
mots sont laissés?
Fix votre schéma en premier. Ne stockez pas les valeurs séparées par des virgules dans la base de données. En savoir plus sur la normalisation. – Naktibalda
@Naktibalda vous ne savez pas si ces valeurs peuvent/doivent être normalisées. Ils pourraient être des chaînes arbitraires. –
@Pekka: si elles n'étaient que des ficelles, il n'y aurait aucune exigence de les traiter comme des mots individuels. Je suis d'accord avec @Naktibalda, c'est-à-dire qu'il s'agit d'une violation de la première forme normale (1NF) qui nécessite des types de données scalaires. Considérons que cette conception NFNF a entraîné une question sur SO parce que le langage SQL manque d'opérateurs requis pour travailler avec des données à valeurs multiples parce qu'il suppose que tous les types de données sont scalaires. Utilisez l'outil correct pour le travail;) – onedaywhen