Mysql
 sql >> Base de données >  >> RDS >> Mysql

insérer des données dans une nouvelle colonne d'une table déjà existante

Ok, après une conversation à travers les commentaires, passons à une réponse.

Je suppose que votre table est quelque chose comme les champs id, name, age, dateBirth, etc fields . Mais celui qui crée ce tableau oublie d'ajouter le genre pour les registres. Comme vous l'avez dit, la nouvelle colonne est un sex enum('m', 'f') vous devrez mettre à jour chaque registre sur cette table un par un. Comme ceci :

 update matches set sex = 'm' where id = 1;

Faites attention qu'avec cette commande, je viens de mettre à jour la ligne de la table où l'id =1 et je suppose que l'id est votre clé primaire. Sur le caluse où vous devez mettre votre clé primaire, sinon vous risquez de mettre à jour plus d'une colonne.

Si votre table a de nombreux registres, vous pouvez le faire en réduisant le travail lourd (au moins un peu)

Afin de mettre à jour plusieurs lignes à la fois, vous devez effectuer une mise à jour avec un filtre LIKE, vous définirez un filtre qui peut identifier plusieurs femmes à la fois puis plusieurs hommes à la fois comme ceci :

 update matches set sex = 'f' where name like '%Jheniffer%'

Étant donné que Jheniffer est un nom féminin, vous mettrez probablement à jour tous les registres contenant une partie du nom de Jheniffer, comme « Jheniffer Smith ». Répétez donc ce processus pour les noms communs jusqu'à ce que le travail soit terminé. Pour toutes les femmes, puis répétez pour les hommes.

J'espère que cela vous aidera à comprendre