apache derby上4个位置的整数

时间:2018-01-13 18:16:50

标签: java apache derby sqlexception

我希望客户端的ID位于apache derby上的4个位置,如“0007”,但以下请求不起作用:

create table client(id int (5)  not null AUTO_INCREMENT primary key, fname varchar(20) not null, lname varchar(20) not null,phnum int(10) not null, email varchar(60) not null ) ; 

它抛出了这个异常:

[Exception, Error code 30 000, SQLState 42X01] Erreur de syntaxe : Encountered "(" at line 1, column 28.

我怎样才能实现呢?

1 个答案:

答案 0 :(得分:0)

  1. Derby int没有宽度。这是integer

  2. 您可以使用formatting将ID用作4位宽的字符串。

  3. 您可能稍后会在Java中使用您的Derby数据进行ORM。将业务数据用作对象ID不是recomended。让id为auto-incrementet值以标识您的对象。您可以添加另一个字段(如代码)以存储客户端代码(char(4)具有唯一索引以避免重复)。

  4. (4.仅预览10.000个客户端,这似乎是一个安静的下限)