如何在Maria DB中重命名列名称

Kav*_*nth 3 mysql rename alter mariadb

我是SQL的新手,我试图更改数据库表中的列名。我正在将'xampp'与'maria DB'(OS-Ubuntu 18.04)

我尝试了以下所有方法:

ALTER TABLE subject RENAME COLUMN course_number TO course_id;
ALTER TABLE subject CHANGE course_number course_id;
ALTER TABLE subject CHANGE 'course_number' 'course_id';
ALTER TABLE subject  CHANGE COLUMN 'course_number'  course_id varchar(255);
ALTER TABLE subject CHANGE 'course_number' 'course_id' varchar(255);
Run Code Online (Sandbox Code Playgroud)

但是我唯一的输出是:

错误1064(42000):您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的“ column course_number to course_id”附近使用

有人可以告诉我正确答案是什么。我不知道该怎么做。

Rob*_*man 16

从 MariaDB 10.5.2 开始,您应该能够做到

ALTER TABLE subject RENAME COLUMN course_number TO course_id;
Run Code Online (Sandbox Code Playgroud)

https://mariadb.com/kb/en/alter-table/#rename-column

  • @Michael,也许你使用了错误的版本?您可以使用“SELECT VERSION()”显示您的版本 (2认同)

小智 7

alter table "table_name" change column "old_name" "New_name" "datatype"*;
Run Code Online (Sandbox Code Playgroud)

old_name 和 New_name 之间不需要使用“TO”,New_name 的数据类型是必须的

例如-

alter table student change column id roll_no int;
Run Code Online (Sandbox Code Playgroud)


Ric*_*mes 5

表名,列名等可能需要用反引号引起来,而不是撇号(')或双引号(")。

ALTER TABLE subject
    CHANGE COLUMN `course_number`   -- old name; notice optional backticks
                   course_id        -- new name
                   varchar(255);     -- must include all the datatype info
Run Code Online (Sandbox Code Playgroud)