Дерби изменить существующий столбец пустой таблицы, чтобы быть идентичностью

Я пытаюсь следующее:

psAddPK = conn.prepareStatement("ALTER TABLE users ALTER usr    
                      GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)");        

psAddPK.execute(); 

но получить

java.sql.SQLSyntaxErrorException: синтаксическая ошибка: обнаружен "GENERATED"

на создание usr определен NOT NULL

1 ответ

Решение

Вы не можете изменить столбец, чтобы переопределить его как идентификатор, вы должны создать его как столбец идентификатора с самого начала. Или вы можете удалить столбец, а затем повторно добавить его в качестве удостоверения.

Вот спецификация таблицы Derby Alter

Инструкция ALTER TABLE позволяет вам:

  • добавить столбец в таблицу
  • добавить ограничение в таблицу удалить столбец из таблицы
  • удалить существующее ограничение из таблицы
  • увеличить ширину столбца VARCHAR или VARCHAR FOR BIT DATA
  • переопределить блокировку на уровне строк для таблицы (или сбросить переопределение)
  • изменить значение приращения и начальное значение столбца идентификаторов
  • изменить ограничение обнуляемости для столбца
  • изменить значение по умолчанию для столбца

Синтаксис:

ALTER TABLE table-name
{
    ADD COLUMN column-definition |
    ADD CONSTRAINT clause |
    DROP [ COLUMN ] column-name [ CASCADE | RESTRICT ]
    DROP { PRIMARY KEY | FOREIGN KEY constraint-name | UNIQUE 
     constraint-name | CHECK constraint-name | CONSTRAINT constraint-name }
    ALTER [ COLUMN ] column-alteration |
    LOCKSIZE { ROW | TABLE }
}

колонного изменения

column-name SET DATA TYPE VARCHAR(integer) |
column-name SET DATA TYPE VARCHAR FOR BIT DATA(integer) |
column-name SET INCREMENT BY integer-constant |
column-name RESTART WITH integer-constant |
column-name [ NOT ] NULL |
column-name [ WITH | SET ] DEFAULT default-value |
column-name DROP DEFAULT

Колонка четкость

simple-column-name [ data-type ]
[ column-level-constraint ]*
[ [ WITH ] DEFAULT default-constant-expression
  | generation-clause
]
Другие вопросы по тегам