Der Titel wird wie folgt umgeschrieben: Erfolgreich gelöst – das Problem, dass MySQL-Spaltennamen nicht über die MySQL-Befehlszeile aktualisiert werden konnten
P粉343408929
P粉343408929 2023-08-20 21:03:11
0
1
519
<p>Ich kann die Spaltennamen in der von mir erstellten MySQL-Datenbank nicht ändern. </p> <p>Ich habe die folgenden Befehle ausprobiert, aber keiner davon scheint zu funktionieren. </p> <pre class="brush:php;toolbar:false;">alter table (mytablename) CHANGE COLUMN (oldcolumnname) (newcolumnname) varchar(120);</pre> <pre class="brush:php;toolbar:false;">alter table (mytablename) RENAME COLUMN (oldcolumnname) (newcolumnname) varchar(120);</pre> <pre class="brush:php;toolbar:false;">ALTER TABLE (mytablename) CHANGE (oldcolumnname) (newcolumnname) varchar(120);</pre> <p>Wobei (mytablename) der Name der von mir erstellten Tabelle ist, (oldcolumnname) der ursprüngliche Spaltenname und (newcolumnname) der neue Spaltenname ist. </p> <p>Hier ist eine einfache Aufgabenliste, die ich zum Erlernen von MySQL erstellt habe, mit den folgenden Elementen: </p> <table class="s-table"> <thead> <tr> <th>id</th> <th>todo</th> <th>abgeschlossen</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Bereit zum Abheben</td> <td>is</td> </tr> <tr> <td>2</td> <td>Lernen Sie etwas über MySQL</td> <td>is</td> </tr> <tr> <td>3</td> <td>Denken Sie an das verdammte Semikolon</td> <td>Nein</td> </tr> </tbody> </table> <p>In diesem Fall habe ich versucht, die Spalte „todo“ in „To Do“ oder „To-Do“ zu ändern, aber jedes Mal, wenn ich diese Befehle ausprobiere, erhalte ich die berühmte Meldung „Überprüfen Sie Ihr SQL-Versionshandbuch“. </p> <p>Irgendwelche Tipps, was ich möglicherweise falsch mache? Danke! </p> <p>Ich habe mir mehrere Tutorial-Sites und sogar eine andere StackOverflow-Frage angesehen</p> <p><strong>Update</strong> Die endgültige Lösung war ein zweistufiger Prozess. Zuerst muss ich die Phrase <strong>TO</strong> zwischen den Spaltennamen verwenden. Zweitens mögen Spaltennamen keine Sonderzeichen. </p> <p>Die Abfrage, die letztendlich funktionierte, war: </p> <pre class="brush:php;toolbar:false;">ALTER TABLE mytablename CHANGE COLUMN todo TO ToDo</pre> <p><br /></p>
P粉343408929
P粉343408929

Antworte allen(1)
P粉448130258

你应该保留名为todo的列;当你选择时,你可以随时更改输出,如下所示:

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

如果你真的觉得必须在列名中包含空格或破折号,在mysql中你可以使用任意标识符,只要将它们用反引号括起来:

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

但是每次在sql中引用该列时,你都需要将其用反引号括起来:

select id,`To Do`,completed from ... where `To Do` like '%learn%'
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!