derby自增主键两种方式的区别

自增主键的语法:

[ GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY 
[ ( START WITH IntegerConstant 
[ ,INCREMENT BY IntegerConstant] ) ]  ]  ]

第一种: create table tb_test(id generated by default as identity,title varchar(10));

第二种: create table tb_test(id generated always as identity,title varchar(10));


第一种可以执行这样的插入语句:

insert into tb_test(id,title) values(1,'dd');
可以手动指定指定主键标识

第二种执行上面的语句是会有如下错误:
    错误 42Z23:尝试修改标识列“ID”。

只能这样:

insert into tb_test(title) values('dd');
不能手动指定主键标识,必须由数据库控制。

你可能感兴趣的:(derby自增主键两种方式的区别)