Re: come intercettare la chiave primaria?
Von: gabryfan82 (gabryfan82@fantogame.it) [Profil]
Datum: 10.07.2008 00:08
Message-ID: <5db24f5e-3e86-4a83-81d3-c35e63e01f74@m45g2000hsb.googlegroups.com>
Newsgroup: it.comp.www.php
Datum: 10.07.2008 00:08
Message-ID: <5db24f5e-3e86-4a83-81d3-c35e63e01f74@m45g2000hsb.googlegroups.com>
Newsgroup: it.comp.www.php
On 9 Lug, 21:20, Leonardo Serni <ser...@tin.it> wrote: > On Tue, 8 Jul 2008 14:51:02 +0200, "nicolakit" > > <nicolakit_nos...@tiscali.it> wrote: > >Domanda: come faccio a farmi dire quale idUtente è stato generato al m omento > >dell'inserimento? > > Nel caso di MySQL, c'e' l'istruzione specifica last_insert_id(). > > Nel caso generico l'unico sistema pratico e' fare un primo inserimento > usando un nome e un cognome fasulli ma unici, recuperare l'ID, per poi > modificare il record con un UPDATE. > > Dato che e' un sistema goffo, quasi tutti i RDBMS hanno introdotto dei > sistemi per aggirarlo e fare prima; ma, in genere, ciascuno ha fatto a > modo suo. > > Poi c'e' da considerare che, in genere, la tabella Utenti non dovrebbe > avere collisioni. Se non nome e cognome, avrai username o email che e' > univoca. Due utenti diversi che si distinguono solo per idUtente, a me > fanno sentire nell'aria odore di disastro incombente :-) > > Leonardo che pero' e' notoriamente pessimista > > -- > > The stars have not dealt me the worst they could do: > My pleasures are plenty - my troubles are two. > But oh!, my two troubles, they reave me of rest: si bhe un utente si può identificare anche da un ID (chiedendo di inserire ID e password)(o ID e PIN) ma non è il mi sembra il massimo, meglio nome utente e password o email e password ma la chiave primaria è usata anche copme chiave esterna di altre tabelle e la chiave esterna deve essere la più picola possibile, se la chiave primaria (o esterna rispetto ad altre tabelle) è piccola possiamo metrtere la stessa informazione in molto meno spazio. (GB intendo) e le ricerche diventano più veloci (meno secondi di impiegamento del processore, disco, ram, non solo x la latenza)quindi recuperare l'ID tramite la funzione PHP suddetta mi sembra il più sensato per compilare altre tabelle con la chiave esterna IDUtente, e non usare Username, troppo grande 12 byte contro 4 o 8byte ciao gabry spero di essere stato utile Gabriele Fantoni webmaster di www.fantogame.it P. S. in università informatica, coros us database: chiave primaria (Codice fiscale). La cosa non mi semnbrea di dattica non solo perchè grande 16 caratteri (va bene 1 byte = carattere) (ma sono sempre 16 byte a codice fiscale) anche perchè non sempre esiste: l'ID si crea da solo ed esiste con uin dato, ma provate a ottendere il codice fiscale di una merce o di una località o di qualunqualtro che non sia una persona, l'ID non esiste ma lo si può creare ad HOC spero di nn essere stato troppo prolisso[ Auf dieses Posting antworten ]
