Maison  >  Questions et réponses  >  le corps du texte

Le titre est réécrit comme suit : Résolu avec succès - le problème de l'impossibilité de mettre à jour les noms de colonnes MySQL à l'aide de la ligne de commande MySQL.

<p>Je ne parviens pas à modifier les noms des colonnes dans la base de données MySQL que j'ai créée. </p> <p>J'ai essayé les commandes suivantes mais aucune ne semble fonctionner. </p> <pre class="brush:php;toolbar:false;">alter table (mytablename) CHANGER DE COLONNE (ancien nom de colonne) (nouveau nom de colonne) varchar(120);</pre> <pre class="brush:php;toolbar:false;">alter table (mytablename) RENOMMER LA COLONNE (ancien nom de colonne) (nouveau nom de colonne) varchar(120);</pre> <pre class="brush:php;toolbar:false;">ALTER TABLE (mytablename) CHANGE (oldcolumnname) (newcolumnname) varchar(120);</pre> <p>Où (mytablename) est le nom de la table que j'ai créée, (oldcolumnname) est le nom de la colonne d'origine et (newcolumnname) est le nouveau nom de la colonne. </p> <p>Voici une liste de tâches simple que j'ai créée pour apprendre MySQL avec les éléments suivants : </p> <table class="s-table"> <tête> <tr> <th>id</th> <th>todo</th> <th>terminé</th> ≪/tr> ≪/tête> <corps> <tr> <td>1</td> <td>Prêt à décoller</td> <td>est</td> ≪/tr> <tr> <td>2</td> <td>Apprenez MySQL</td> <td>est</td> ≪/tr> <tr> <td>3</td> <td>Rappelez-vous ce foutu point-virgule</td> <td>Non</td> ≪/tr> </tcorps> </tableau> <p>Dans ce cas, j'ai essayé de changer la colonne 'todo' en 'To Do' ou 'To-Do' mais chaque fois que j'essaie ces commandes, j'obtiens le fameux "Vérifiez votre manuel de version SQL" ". </p> <p>Des conseils sur ce que je pourrais faire de mal ? Merci! </p> <p>J'ai consulté plusieurs sites de didacticiels et j'ai même consulté une autre question StackOverflow</p> <p><strong>Mise à jour</strong> La solution finale était un processus en deux étapes. Tout d’abord, je dois utiliser l’expression <strong>TO</strong> Deuxièmement, les noms de colonnes n'aiment pas les caractères spéciaux. </p> <p>La requête qui a finalement fonctionné était : </p> <pre class="brush:php;toolbar:false;">ALTER TABLE mytablename CHANGER DE COLONNE todo TO ToDo</pre> <p><br /></p>
P粉343408929P粉343408929402 Il y a quelques jours522

répondre à tous(1)je répondrai

  • P粉448130258

    P粉4481302582023-08-21 19:44:33

    Vous devez conserver la colonne nommée todo ; vous pouvez toujours modifier le résultat lorsque vous la sélectionnez, comme ceci :

    select id, todo as 'To Do', completed from ...

    Si vous pensez vraiment que vous devez inclure des espaces ou des tirets dans les noms de colonnes, dans MySQL, vous pouvez utiliser des identifiants arbitraires, enveloppez-les simplement entre des guillemets :

    alter table ... rename column todo to `To Do`

    Mais chaque fois que vous référencez la colonne en SQL, vous devez l'entourer de backticks :

    select id,`To Do`,completed from ... where `To Do` like '%learn%'

    répondre
    0
  • Annulerrépondre