如何重命名 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 中的列名的主要内容,如果未能解决你的问题,请参考以下文章
R语言rename重命名dataframe的列名实战:rename重命名dataframe的列名(写错的列名不会被重命名)