我希望客户端的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.
我怎样才能实现呢?
答案 0 :(得分:0)
Derby int
没有宽度。这是integer。
您可以使用formatting将ID用作4位宽的字符串。
您可能稍后会在Java中使用您的Derby数据进行ORM。将业务数据用作对象ID不是recomended。让id为auto-incrementet值以标识您的对象。您可以添加另一个字段(如代码)以存储客户端代码(char(4)具有唯一索引以避免重复)。
(4.仅预览10.000个客户端,这似乎是一个安静的下限)