nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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 ]