【问题标题】:How to rename a column name in maria DB如何重命名 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”附近使用正确的语法

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

【问题讨论】:

  • 你应该把符号从'改成这个`
  • 谢谢@ToujouAya。那是个错误。
  • @JakeSteam 这与我的问题不同。他搞砸了' . ' 带有表名,在我的情况下,我在整个程序中都使用了错误的符号。

标签: mysql mariadb rename alter


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-25
    • 2016-02-19
    • 1970-01-01
    • 2020-07-04
    • 2022-11-17
    • 2017-02-07
    • 2021-02-09
    • 2021-12-07
    相关资源
    最近更新 更多