phpbar.de logo

Mailinglisten-Archive

[php] Postgres: id des neuen datensatzes

[php] Postgres: id des neuen datensatzes

Patrick Mairif php_(at)_phpcenter.de
Sun, 22 Apr 2001 23:00:57 +0200


On Sun, Apr 22, 2001 at 08:15:10PM +0200, Cornelia Boenigk wrote:
> > habe ich vielleicht eine chance mir ueber die oid den
> zugehoerigen
> > datensatz geben zu lassen.
> 
> Mit select oid,feld,... from tabellenname;  wird die OID mit
> angezeigt.

das waere doch meine loesung, mit "select ID where oid=lastoid" wuerde ich
dann den primaerschluessel bekommen, oder?

> Wie gesagt, das ist eine systeminterne Datensatz-ID, die im
> System eindeutig ist. Wenn Du aber Deine Tabelle mir
> schickst, und ich sie in mein System einlese, sind Deine
> OID's im Eimer. Dann vergibt mein System den Datensaetzen
> neue, auf meinem System eindeutige OID's.

das ist ja nicht so wild, ich brauche die oid nur so lange, bis ich den
primaerschluessel habe.

> > ich habe keine luste den Primaerschluessel von Hand zu
> setzen
> das ist aber die normale Methode. (und portabel)

ich denke nicht, ich definiere den Primaerschluessel als serial und der
soll dafuer sorgen, dass ich automatisch einen neuen wert bekomme.

> > wass wenn
> > das zwei Prozesse gleichzeitig probieren und den gleichen
> vergeben?
> ein PRIMARY KEY ist per definitionem UNIQUE und NOT NULL.
> Darum kann er gar nicht zweimal vergeben werden, weil das
> Datenbanksystem das nicht zulaesst.

eben, und die fehlersituation wollte ich von vornherein verhinden.

Ich habe es zwar noch nicht getestet, aber ich denke, ich habe jetzt eine
loesung! Vielen Dank!

Gruss, Patrick!

-- 
http://home.nikocity.de/mairif
http://caravan-network.de


php::bar PHP Wiki   -   Listenarchive