Mailinglisten-Archive |
On 22-Jul-00 Arash Yalpani wrote: > hi liste, > > ich habe gerade darüber nachgedacht, wozu ich eigentlich > immer und für jede tabelle ein > autoincrement-primärschlüssel-feld anlege... > > ich möchte beispielsweise ein adressbuchsystem anlegen: > > 1. feld: id <= autoincrement-feld, > primärschlüssel > 2. feld: benutzer_id <= besitzer der mailbox, > kein primärschlüssel > 3. feld: kontakt_id <= adressnuch-eintrag, kein > primärschlüssel > > der grund warum ich irgendwann angefangen habe immer ein > id-feld anzulegen war phpmyadmin, welches mir nicht erlaubt, > elemente aus einer solchen tabelle über die grafische > benutzeroberfläche zu löschen. ansonsten sehe ich eigentlich > keinen sinn darin. Der Primärschlüssel muss keineswegs ein integer-autoincrement Wert sein, du kannst auch andere Sachen nehmen. Primarärschlüssel sind aber in der Regel Unique Keys für den Datensatz, es sollte also in der Tabelle nur einmal vorkommen (können). Du kannst dafür auch eine Kombination mehrerer Spalten nehmen, wenn es sich anbietet, z.B. die Verknüpfungstabelle, die eine n:m Beziehung zwischen zwei anderen Tabellen herstellt, hat in der Regel die beiden ID's als Primarschllüssel (der Schlüssel geht über beider Spalten). Die Verwendung von Primärschlüssel empfiehlt sich grundsätzlich (von Ausnahmen abgesehen), weil der Primarschlüssel auch ein Index über die Tabelle ist, er beschleunigt also Querys, bei denen du die Spalte(n) des Primarschlüssels verwendest. Michael -- Michael Bergbauer <michael.bergbauer_(at)_gmx.net> Use your idle CPU cycles. See http://www.distributed.net and win $ 1 000. Visit our mud Geas at geas.franken.de Port 3333 --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive