Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Изменить свойство столбца / 11 сообщений из 11, страница 1 из 1
26.03.2015, 22:37:31
    #38918203
unnomen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
Товарищи, такое дело.
Не могу найти правильный синтаксис для изменения свойства столбца. Использую СУБД MariaDB.

Имеется таблица table со столбцом column (INT NOT NULL).
Хочу изменить NOT NULL на значение NULL.

Нашёл в сети такой синтаксис:
Код: sql
1.
ALTER TABLE table ALTER COLUMN column INT NULL;


Код: sql
1.
ALTER TABLE table MODIFY COLUMN column INT NULL;


Но СУБД выполнять ни один запрос не хочет. Пролистал свои книги по SQL - не нашёл упоминания даже про MODIFY.
Может что-то не правильно пишу в запросе. Нужна помощь.
...
Рейтинг: 0 / 0
26.03.2015, 22:44:48
    #38918210
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
unnomenНо СУБД выполнять ни один запрос не хочет.Так и говорит?

unnomenПролистал свои книги по SQL - не нашёл упоминания даже про MODIFY. ALTER TABLE Syntax
Вроде бы синтаксис второго варианта правильный.
...
Рейтинг: 0 / 0
26.03.2015, 22:50:47
    #38918221
unnomen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
miksoft,

Всё же для
Код: sql
1.
ALTER TABLE table MODIFY COLUMN column INT NULL;

не хочет выполнять:
Код: sql
1.
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NULL' at line 1
...
Рейтинг: 0 / 0
26.03.2015, 23:14:39
    #38918231
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
unnomen,

Странно, по этой доке тоже ошибок не вижу.
На всякий случай уберите точку с запятой в конце.
...
Рейтинг: 0 / 0
27.03.2015, 02:26:11
    #38918313
ovigor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
Попробуйте, на MySQL работает, не знаю как на MariaDB будет

ALTER TABLE table
CHANGE COLUMN column column INT(x) NULL ;
...
Рейтинг: 0 / 0
27.03.2015, 02:37:06
    #38918317
retvizan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
Запрос в консоли выполняете?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
MariaDB [test]> select  version();
+--------------------+
| version()          |
+--------------------+
| 5.5.34-MariaDB-log |
+--------------------+
1 row in set (0.03 sec)

MariaDB [test]> create table `table` (`column` int not null);
Query OK, 0 rows affected (0.22 sec)

MariaDB [test]> ALTER TABLE table MODIFY COLUMN column INT NULL;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near 'tab
le MODIFY COLUMN column INT NULL' at line 1

MariaDB [test]> ALTER TABLE `table` MODIFY COLUMN `column` INT NULL;
Query OK, 0 rows affected (0.36 sec)
Records: 0  Duplicates: 0  Warnings: 0
...
Рейтинг: 0 / 0
27.03.2015, 08:38:40
    #38918381
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
unnomen,

Квалификатор типа INT завсегда требовал разрядности. Синт. ошибка near at '..' завсегда утверждала, что на этом (первом) символе анализатор "спотыкнулси" поскольку ДО него и была ошибка.

Попробуйте в свой варииант указать int(11) ... :)
...
Рейтинг: 0 / 0
27.03.2015, 09:22:33
    #38918424
unnomen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
Проблема оказалась в том, что MySQL Workbench (очень странно) не хотел воспринимать запрос.
Я отправил запрос через phpMyAdmin и он без ошибок выполнился.
Код: sql
1.
ALTER TABLE table MODIFY COLUMN column INT NULL;


Большое спасибо за помощь!:)
...
Рейтинг: 0 / 0
27.03.2015, 10:27:13
    #38918535
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
Arhat109Квалификатор типа INT завсегда требовал разрядности.Нет, квалификатор опционален. Это скорее некая традиция, выросшая, насколько я понимаю, из вывода команды SHOW CREATE TABLE.
...
Рейтинг: 0 / 0
28.03.2015, 02:19:05
    #38919696
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
может надо название таблицы table закрыть, чтоб служебным словом не являлось
...
Рейтинг: 0 / 0
28.03.2015, 05:00:02
    #38919703
retvizan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить свойство столбца
А у кого есть Workbench посмотрите как он преобразовывает запрос.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Изменить свойство столбца / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]