После создания таблицы Sybase ASE не позволяет напрямую добавлять столбец NOT NULL, если для столбца не указано значение по умолчанию. Однако, если таблица все еще пуста, вы можете сделать следующее -
- Сначала добавьте новый столбец как столбец NULL в таблицу, используя команду alter table -
изменить таблицу Test add Name varchar (100) null
- Как только это будет сделано, попробуйте изменить то же имя столбца в таблице Test, используя скрипт alter table -
alter table Тест изменить имя varchar (100) NOT NULL
и вы увидите, что с помощью этих шагов вы можете изменить столбец Имя в столбец NOT NULL. Это связано с тем, что в данный момент сервер Sybase проверяет, так как в таблице нет данных, поэтому ограничение NOT NULL не проверяется и столбец становится NOT NULL. Следовательно, мы можем пропустить ограничение по умолчанию.
Если бы в таблице Test уже были некоторые данные, то нам нужно добавить еще один шаг между шагами 1 и 2, который добавит значения по умолчанию к существующим строкам таблицы. Это можно сделать с помощью сценария для предыдущих данных, а затем выполнить шаг 2.
Чтобы столбец допускал только уникальные значения для столбца, необходимо добавить ограничение уникального ключа, используя следующий синтаксис -
изменить таблицу Test add ограничение UK1 уникально (имя)