Як змінити визначення стовпця MySQL?


156

У мене є таблиця mySQL під назвою тест:

create table test(
    locationExpect varchar(120) NOT NULL;
);

Я хочу змінити колонку locationEpepect на:

create table test(
    locationExpect varchar(120);
);

Як це можна зробити швидко?

Відповіді:


273

Ви маєте на увазі зміни таблиці після її створення? Якщо це так, вам потрібно використовувати таблицю alter , зокрема:

ALTER TABLE tablename MODIFY COLUMN new-column-definition

напр

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

5
Отже ... MySQLWorkbench має помилку перевірки синтаксису, яка відхиляє цю команду. Але, це правильна команда.
Стівен Лу

Остерігайтеся: наведений вище приклад також змінить COLUMN на Null = Так, за замовчуванням = Null. Якщо вам не потрібно Null, потрібно вказати різні значення.
Гай Гордон

@GuyGordon в оригінальному запитанні Маск хотів змінити стовпець з NOT NULLдозволу на нулі, тому я думаю, що цей приклад все ще в порядку. Погодьтеся, що невелика зміна буде потрібна, якщо хотілося б іншого дефолту.
mikej

43

Синтаксис для зміни імені стовпця в MySql :

alter table table_name change old_column_name new_column_name data_type(size);

Приклад:

alter table test change LowSal Low_Sal integer(4);

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.