Как переименовать имя столбца в maria DB

Я новичок в 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);

Но единственный вывод, который я получил, был:

ОШИБКА 1064 (42000): ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с «column course_number to course_id» в строке 1.

Может кто подскажет правильный ответ. Я понятия не имею, что делать дальше.


person Kaveen Hyacinth    schedule 12.12.2018    source источник
comment
Возможный дубликат Изменить имя столбца в MariaDB   -  person Jake Lee    schedule 12.12.2018
comment
Вы должны изменить символ с ' на этот '   -  person ToujouAya    schedule 12.12.2018
comment
спасибо @ToujouAya. Это была ошибка.   -  person Kaveen Hyacinth    schedule 12.12.2018
comment
@JakeSteam Это отличается от моего вопроса. Он напортачил». ' с именем таблицы, в моем случае я использовал неправильный символ во всей программе.   -  person Kaveen Hyacinth    schedule 12.12.2018


Ответы (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
person Rick James    schedule 16.12.2018

Начиная с MariaDB 10.5.2 вы сможете сделать

ALTER TABLE subject RENAME COLUMN course_number TO course_id;

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

person Robert Hickman    schedule 10.03.2020
comment
MariaDB [socialnet]› ИЗМЕНИТЬ ТАБЛИЦУ пользователей ПЕРЕИМЕНОВАТЬ КОЛОННУ current_lat TO was_lat;‹br/› ОШИБКА 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с «COLUMN current_lat TO was_lat» в строке 1. - person Michael restore Monica Cellio; 07.02.2021
comment
@ Майкл, может быть, ты используешь неправильную версию? Вы можете показать свою версию с помощью SELECT VERSION() - person Robert Hickman; 07.02.2021
comment
10.3.22-MariaDB-1:10.3.22+maria~xenial-log - person Michael restore Monica Cellio; 08.02.2021
comment
В итоге я использовал change column. - person Michael restore Monica Cellio; 08.02.2021
comment
@MichaelrestoreMonicaCellio, да, ваша версия не поддерживает более новый RENAME COLUMN способ сделать это. - person Robert Hickman; 08.02.2021