auto increment ID dans la base de données H2

y a-t-il un was pour avoir un BIGINT ID automatique pour une table. Il peut être défini comme

id bigint auto_increment

mais cela n'a pas d'effet (il n'augmente pas automatiquement). J'aimerais insérer tous les champs sauf le champ ID - le champ ID devrait être fourni par le SGBD. Ou dois-je appeler quelque chose pour incrémenter le compteur D'identité?

42
demandé sur Sindri Traustason 2012-02-20 00:58:04

4 réponses

ça marche pour moi. URL JDBC:jdbc:h2:~/temp/test2

drop table test;
create table test(id bigint auto_increment, name varchar(255));
insert into test(name) values('hello');
insert into test(name) values('world');
select * from test; 

résultat:

ID  NAME  
1   hello
2   world
109
répondu Thomas Mueller 2012-02-20 06:01:25

très simple:

id int auto_increment primary key

H2 va créer un objet Sequence automatiquement

4
répondu beloblotskiy 2016-07-07 22:24:23

Vous pouvez également utiliser default:

create table if not exists my(id int auto_increment primary key,s text);
insert into my values(default,'foo');
3
répondu ericj 2017-06-21 17:09:40
id bigint(size) zerofill not null auto_increment,
-7
répondu eveo 2012-02-19 22:56:46