2016-07-28 5 views
1

Я новичок в библиотеке дерби. почему я получил эту ошибку, когда я использую auto_increment в моем запросе?создать пользователя таблицы ("user_id int auto_increment"); не работает в дерби (встроенная база данных)

вот мой код Java

this.conn.createStatement().execute(create table user("user_id int auto_increment, PRIMARY KEY(user_id))"); 

Я попробовал это в MySQL Server и его работы, но в дерби я получил эту ошибку

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "auto_increment" at line 1 

почему я получил эту ошибку?

+1

AFAIK нет 'auto_increment' в Дерби, искать [ИДЕНТИЧНОСТЬ] (https://db.apache.org/derby/docs/10.0/manuals/develop/develop132.html) колонны. –

ответ

2

У Derby нет ключевого слова auto_increment. В дерби вы должны использовать столбцы идентификации для реализующего поведения автоматического приращения

Например

CREATE TABLE students 
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), 
name VARCHAR(24) NOT NULL, 
address VARCHAR(1024), 
CONSTRAINT primary_key PRIMARY KEY (id) 
) ; 

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

Надеется, что это помогает

+0

спасибо. оно работает. –

+0

Рад, что помогло вам :) – Sanjeev