2010-08-29
Unter Oracle Datenbanken sind für eine Tabelle mit automatisch inkrementiertem Primärschlüssel die Tabelle selbst, eine Sequenz und ein Trigger anzulegen:
create table foo (
my_key number,
bar nchar(255),
primary key (my_key));
create sequence foo_seq
start with 1
increment by 1
nomaxvalue;
create trigger foo_trigger
before insert on foo
for each row
begin
select foo_seq.nextval into :new.my_key from dual;
end;
/
Bei einer MySQL Datenbank reicht hierzu das Schlüsselwort auto_increment in der Tabellen-Definition aus:
create table foo (
my_key int auto_increment,
bar varchar(255),
primary key(my_key));
Welches der beiden Beispiele lässt sich schneller schreiben bzw. lesen? ;-)