2012-06-09 4 views
9

Мне нужно добавить столбец, значение по умолчанию которого не равно null по умолчанию для таблицы после определенного столбца с использованием таблицы Alter.Добавление столбца, значение которого по умолчанию не равно null.

ALTER TABLE tblechecklistrevision ADD COLUMN IWorkFlowOrder INT(10) DEFAULT NOT NULL AFTER fState; 

Когда я Выполнить запрос я получаю ошибку ниже

У Вас есть ошибка в вашем SQL синтаксиса; в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «NOT NULL ПОСЛЕ fState» в строке 1

ответ

10

Вы должны удалить DEFAULT:

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL AFTER fState; 

DEFAULT для установки начального значения для новых строк, где значение для этого столбца не указывается, когда вы пишете ...INT(10) NOT NULL, что вы имеете в виду, это то, что этот столбец никогда не может содержать NULL, а не только во время инициализации.

9

Если вы хотите значение по умолчанию не равно NULL (пример 0) вы можете делать:

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL DEFAULT 0 AFTER fState 
Смежные вопросы