2016-06-30 2 views
0

Итак, я пытаюсь создать базу данных Derby в Netbeans, чтобы впоследствии я смог создать приложение для взаимодействия с ним, и я застрял в запутанной, но, вероятно, простой ошибке.Что это за ошибка с «или» в моей инструкции SQL?

В частности, я пытаюсь создать последовательность автоматического инкремента для столбца PK (первичный ключ).

Мой код для создания последовательности приведен ниже.

--Creating sequences here 
--Pk sequence for characters table here 
CREATE OR REPLACE SEQUENCE characters_pk_sequence MINVALUE 1 START WITH 1 INCREMENT BY 1; 
-- End of PK sequence for characters table here 

Ошибка консоли ниже.

Error code 30000, SQL state 42X01: Syntax error: Encountered "OR" at line 1, column 8. 

Это не единственный метод, который я пробовал, я пробовал другие методы, описанные в Интернете, но они также не работали. Что я делаю неправильно здесь, ребята?

EDIT: SOLVED Ребята. Однако я не могу принять свой собственный ответ еще на 2 дня.

+1

Очевидно, что ваша база данных не поддерживает 'create or replace' для последовательностей. –

ответ

0

(Отвечая на мой собственный вопрос, кажется странным.) Итак, я понял, как сделать то, что я пытался сделать. (т. е. автоинкрементный ПК). Эта версия программного обеспечения базы данных не работает так же, как предыдущая версия, которую я использовал в первый раз.

Я нашел подходящий ответ в этом stackoverflow question.

Чтобы создать автоинкрементный ключ в Дерби, вы можете сделать это в таблице, как так

CREATE TABLE characters(
hp INTEGER, 
hp_max INTEGER, 
armor INTEGER, 

-- Various other table columns, etc. 

char_pk INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
    (START WITH 1, INCREMENT BY 1) 
); 

Doing, что позволило мне создать автоинкрементный ПК, и без необходимости указывать его в другом месте, который является довольно удивительным.

+0

Разве это не чертовски раздражает, как иногда, когда вы наконец просите о помощи на что-то, ответ, наконец, внезапно падает на ваш круг? Как пощечина? – Roknikus

Смежные вопросы