Jak udelat v mysql sekvence?
Michal Kubecek
mike na mk-sys.cz
Středa Srpen 27 13:52:40 CEST 2003
On Wed, Aug 27, 2003 at 08:43:11AM +0200, Michal Samek wrote:
> potreboval bych nejak v mysql udelat field auto_increment, ale tak, aby
> cislovani ve 2 samostatnych databazich (ktere se budou oproti sobe
> obousmerne replikovat - to je jednoduche a to si udelam v pythonu -
> nemyslim replikaci mysql) bylo nezavisle - negenerovalo duplicitni
> klice. V postgresu bych udelal jednoduse sekvenci, ktera by na jednom
> stroji zacinala od 1 a na druhem treba od 100000 a ta sekvence mi udrzi
> spravne cislovani. Nebo inkrementovat o 2 tak, ze jedna rada bude suda a
> druha licha. V mysql ale urcit inkrement imho nelze, default hodnoty
> musi byt staticke, triggery mysql asi jeste nema, ani nic podobneho
> sekvenci. A kdyz pouziju auto_increment, tak se mi cislovani automaticky
> zvedne nad posledni nejvetsi - asi si to udrzuje prubezne maximum.
>
> Potrebuju, aby to fungovalo jako implicitni hodnota fieldu, aby se
> nemuselo sahat do kodu a udrzovat to.
Tak udělejte něco jako
create table TBL (
SRC smallint default 1,
ID integer autoincrement, /* nebo jak je ta syntaxe */
...
primary key (SRC,ID)
);
a v druhé tabulce si dejte k SRC default 2.
> Napada vas nekoho neco? Krome migrace na postgresql, kterou beru jako
> nouzove reseni? Dik
Neřekl bych nouzové. Spíš perspektivní... :-). Nebo zkuste Firebird.
Michal Kubeček
Další informace o konferenci Databases