我無法更改我建立的mysql資料庫中的列名。
我嘗試了以下命令,但似乎都沒有起作用。
alter table (mytablename) CHANGE COLUMN (oldcolumnname) (newcolumnname) varchar(120);
alter table (mytablename) RENAME COLUMN (oldcolumnname) (newcolumnname) varchar(120);
ALTER TABLE (mytablename) CHANGE (oldcolumnname) (newcolumnname) varchar(120);
其中(mytablename)是我建立的表的名稱,(oldcolumnname)是原始列名,(newcolumnname)是新的列名。
這是我創建的一個簡單的待辦事項列表,用於學習MySQL,其中包含以下項目:
id | todo | completed |
---|---|---|
1 | 準備起飛 | 是 |
2 | 學一些MySQL | 是 |
3 | 記得那個該死的分號 | 否 |
在這種情況下,我嘗試將列'todo'更改為'To Do'或'To-Do',但每次我嘗試這些命令時,都會出現著名的“檢查您的SQL版本手冊」。
有關我可能做錯了什麼的提示嗎?謝謝!
我已經查看了多個教學網站,甚至查看了另一個StackOverflow的問題
更新 最終的解決方案是兩個步驟。首先,我需要在列名之間使用TO短語。其次,列名不喜歡特殊字元。
最終起作用的查詢是:
ALTER TABLE mytablename CHANGE COLUMN todo TO ToDo
你應該保留名為todo的欄位;當你選擇時,你可以隨時更改輸出,如下所示:
如果你真的覺得必須在列名中包含空格或破折號,在mysql中你可以使用任意標識符,只要將它們用反引號括起來:
但是每次在sql中引用該列時,你都需要將其用反引號括起來: