Heim > Datenbank > MySQL-Tutorial > Hauptteil

So ändern Sie den zusammengesetzten Primärschlüssel in einen einzelnen Primärschlüssel

anonymity
Freigeben: 2019-05-27 14:52:00
Original
3211 Leute haben es durchsucht

Der sogenannte zusammengesetzte Primärschlüssel bedeutet, dass der Primärschlüssel Ihrer Tabelle mehr als ein Feld enthält und keine automatisch inkrementierte ID ohne geschäftliche Bedeutung als Primärschlüssel verwendet.

Zum Beispiel

create table test 
( 
   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 
)
Nach dem Login kopieren

Die Kombination der Namens- und ID-Felder oben ist der zusammengesetzte Primärschlüssel Ihrer Testtabelle. Er erscheint, weil Ihr Namensfeld möglicherweise denselben Namen hat, also müssen Sie dies tun Durch das Hinzufügen von ID-Feldern kann die Eindeutigkeit Ihrer Datensätze sichergestellt werden. Im Allgemeinen sollten die Feldlänge und die Anzahl der Felder des Primärschlüssels so gering wie möglich sein.

So ändern Sie den zusammengesetzten Primärschlüssel in einen einzelnen Primärschlüssel

Hier wird es Zweifel geben. Der Primärschlüssel ist der einzige Index. Warum kann eine Tabelle also mehrere Primärschlüssel erstellen?

Tatsächlich ist „Der Primärschlüssel ist der einzige Index“ etwas mehrdeutig. Beispielsweise erstellen wir ein ID-Feld in der Tabelle, wachsen automatisch und legen es als Primärschlüssel fest. Dies ist kein Problem, da „Der Primärschlüssel der einzige Index ist“ und die ID automatisch wächst sorgen für Einzigartigkeit, also ja.

Zu diesem Zeitpunkt erstellen wir einen weiteren Feldnamen mit dem Typ varchar und legen ihn als Primärschlüssel fest. Sie werden feststellen, dass Sie denselben Namenswert in mehrere Zeilen der Tabelle eingeben können ? Ist dieser Satz „der Primärschlüssel ist der einzige Index“?

Deshalb habe ich gesagt, dass „der Primärschlüssel der einzige Index“ mehrdeutig ist. Es sollte lauten: „Wenn die Tabelle nur einen Primärschlüssel enthält, ist dies der einzige Index. Wenn die Tabelle mehrere Primärschlüssel enthält, spricht man von einem zusammengesetzten Primärschlüssel, und die Kombination der zusammengesetzten Primärschlüssel garantiert eine Eindeutigkeit.“ Index."

Warum ist die sich selbst erhöhende ID ein Primärschlüssel, der als eindeutige Kennung verwendet werden kann, und warum wird dann noch ein zusammengesetzter Primärschlüssel benötigt? Da nicht alle Tabellen über das ID-Feld verfügen müssen, wenn wir beispielsweise eine Schülertabelle erstellen und es keine ID gibt, die den Schüler eindeutig identifiziert, was können wir dann tun? Ein einzelnes Feld kann nicht zur eindeutigen Identifizierung verwendet werden. Zu diesem Zeitpunkt können wir mehrere Felder als Primärschlüssel festlegen, um die Eindeutigkeit dieser mehreren Felder gemeinsam zu ermitteln werden wiederholt, solange nicht mehrere Datensätze vorhanden sind. Wenn alle Primärschlüsselwerte genau gleich sind, gelten sie nicht als Duplikate.

So ändern Sie den zusammengesetzten Primärschlüssel in einen einzelnen Primärschlüssel

Eine Tabelle kann nur einen Primärschlüssel haben:

Primärschlüssel basierend auf einer Spalte:

Alter Table Test Add Constraint PK_TEST Primary Key(ename);

Vereinigter Primärschlüssel basierend auf mehreren Spalten:

Alter Table Test Add Einschränkung PK_TEST Primärschlüssel(ename,birthday);

Das obige ist der detaillierte Inhalt vonSo ändern Sie den zusammengesetzten Primärschlüssel in einen einzelnen Primärschlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!