開発者ドキュメント

HSQLは自動増加IDを識別する

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', 'aaa@gmail.com');
INSERT INTO users (name, email) VALUES ('alex', 'bbb@gmail.com');
INSERT INTO users (name, email) VALUES ('joel', 'ccc@gmail.com');

出力

0, mkyong, aaa@gmail.com
1, alex, bbb@gmail.com
2, joel, ccc@gmail.com

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, aaa@gmail.com
101, alex, bbb@gmail.com
102, joel, ccc@gmail.com

リファレンス


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

    [HSQLDB – アイデンティティ

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

モバイルバージョンを終了