HSQLDBでは `IDENTITY`キーワードを使って自動インクリメント列を定義することができます。通常、これは主キーです。以下の例を見直してください:

1. IDENTITY – デフォルト

デフォルトでは、IDENTITY値は0から始まります。

CREATE TABLE users (
  id INTEGER IDENTITY PRIMARY KEY,
  name VARCHAR(30),
  email  VARCHAR(50)
);

INSERT INTO users (name, email) VALUES ('mkyong', '[email protected]');
INSERT INTO users (name, email) VALUES ('alex', '[email protected]');
INSERT INTO users (name, email) VALUES ('joel', '[email protected]');

出力

2. IDENTITY – 始める

IDENTITYの値は100で始まり、1ずつ増加します。

CREATE TABLE users (
  id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 100, INCREMENT BY 1) PRIMARY KEY,
  name VARCHAR(30),
  email  VARCHAR(50)
);

出力

100, mkyong, [email protected]
101, alex, [email protected]
102, joel, [email protected]

リファレンス


  1. http://hsqldb.org/doc/guide/ch02.html#N104B3

    [HSQLDB – アイデンティティ

列の自動インクリメント]