如何重命名 maria DB 中的列名

Posted

技术标签:

【中文标题】如何重命名 maria DB 中的列名【英文标题】:How to rename a column name in maria DB 【发布时间】:2019-05-13 02:27:43 【问题描述】:

我是 SQL 新手,我试图更改数据库表中的列名。我正在使用“xampp”和“maria DB”(操作系统 - 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);

但我得到的唯一输出是:

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

谁能告诉我正确答案是什么。我不知道该怎么做。

【问题讨论】:

Change column name in MariaDB的可能重复 你应该把符号从'改成这个` 谢谢@ToujouAya。那是个错误。 @JakeSteam 这与我的问题不同。他搞砸了' . ' 带有表名,在我的情况下,我在整个程序中都使用了错误的符号。 【参考方案1】:

从 MariaDB 10.5.2 开始,您应该可以做到

ALTER TABLE subject RENAME COLUMN course_number TO course_id;

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

【讨论】:

MariaDB [socialnet]> ALTER TABLE users RENAME COLUMN current_lat TO was_lat; 错误 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“COLUMN current_lat TO was_lat”附近使用正确的语法 @Michael,也许你使用了错误的版本?您可以使用SELECT VERSION() 显示您的版本 10.3.22-MariaDB-1:10.3.22+maria~xenial-log 我最终使用了change column @MichaelrestoreMonicaCellio,是的,您的版本不支持更新的 RENAME COLUMN 方式。【参考方案2】:

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

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

【讨论】:

以上是关于如何重命名 maria DB 中的列名的主要内容,如果未能解决你的问题,请参考以下文章

如何通过传递字符向量重命名 tibble 中的所有列名?

重命名postgresql数据库中的列名

R语言rename重命名dataframe的列名实战:rename重命名dataframe的列名(写错的列名不会被重命名)

Db4o - 如何一步重命名字段?

使用 spark sql 重命名 Parquet 文件中列名中的空格

如何合并多个工作表并用工作表名称重命名列名?