Heim > Datenbank > MySQL-Tutorial > Hauptteil

Die Definition und Funktion des zusammengesetzten MySQL-Primärschlüssels

PHPz
Freigeben: 2024-03-15 17:18:04
Original
1073 Leute haben es durchsucht

MySQL 复合主键的定义与作用

Der zusammengesetzte Primärschlüssel in MySQL bezieht sich auf den Primärschlüssel, der aus mehreren Feldern in der Tabelle besteht und zur eindeutigen Identifizierung jedes Datensatzes verwendet wird. Im Gegensatz zu einem einzelnen Primärschlüssel wird ein zusammengesetzter Primärschlüssel durch die Kombination der Werte mehrerer Felder gebildet. Beim Erstellen einer Tabelle können Sie einen zusammengesetzten Primärschlüssel definieren, indem Sie mehrere Felder als Primärschlüssel angeben.

Um die Definition und Funktion des zusammengesetzten Primärschlüssels zu demonstrieren, erstellen wir zunächst eine Tabelle mit dem Namen users, die id, username und enthält email Diese drei Felder, darunter id ein automatisch inkrementierender Primärschlüssel, username der Benutzername und email code> ist die E-Mail-Adresse des Benutzers. Wir werden die beiden Felder <code>username und email als zusammengesetzten Primärschlüssel kombinieren. users 的表,其中包含了 idusernameemail 这三个字段,其中 id 是自增主键,username 是用户名称,email 是用户邮箱。我们将通过 usernameemail 这两个字段组合在一起作为复合主键。

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    PRIMARY KEY(username, email)
);
Nach dem Login kopieren

上面的代码中,通过在 CREATE TABLE 语句中使用 PRIMARY KEY(username, email) 来定义了复合主键,将 usernameemail 这两个字段组合在一起作为唯一标识。

接下来我们向表中插入一些数据,注意由于复合主键的存在,每条记录的 usernameemail 组合必须是唯一的。

INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
INSERT INTO users (username, email) VALUES ('bob', 'bob@example.com');
Nach dem Login kopieren

如果我们再试图插入一条 usernameemail

INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
-- 输出错误:Duplicate entry 'alice@example.com' for key 'PRIMARY'
Nach dem Login kopieren
Im obigen Code wird der zusammengesetzte Primärschlüssel durch die Verwendung von PRIMARY KEY(username, email) in der CREATE TABLE-Anweisung und username definiert. code > und <code>email werden als eindeutige Kennung kombiniert.

Als nächstes fügen wir einige Daten in die Tabelle ein. Aufgrund der Existenz des zusammengesetzten Primärschlüssels muss die Kombination aus username und email für jeden Datensatz eindeutig sein.

rrreee

Wenn wir versuchen, ein weiteres Datenelement einzufügen, bei dem sowohl username als auch email mit dem vorherigen Datensatz identisch sind, wird ein eindeutiger Einschränkungsfehler ausgelöst:

rrreee

Dies ist der zusammengesetzte Primärschlüssel. Eine seiner Funktionen besteht darin, sicherzustellen, dass der kombinierte Feldwert jedes Datensatzes in der Tabelle eindeutig ist, um Datenduplizierung zu vermeiden. 🎜🎜In praktischen Anwendungen können zusammengesetzte Primärschlüssel die Datenintegrität beim Entwurf von Datentabellen genauer steuern. Wenn Datensätze in einer Datenbank anhand mehrerer Felder eindeutig identifiziert werden müssen, kann ein zusammengesetzter Primärschlüssel einen besseren Schutz der Datenintegrität bieten. Gleichzeitig haben zusammengesetzte Primärschlüssel bei einigen Abfragen und Tabellenzuordnungsvorgängen auch spezielle Verwendungszwecke, die zur Verbesserung der Abfrageeffizienz und -genauigkeit beitragen können. 🎜🎜Zusammenfassend lässt sich sagen, dass der zusammengesetzte Primärschlüssel in MySQL ein Primärschlüssel ist, der aus mehreren Feldern besteht und zur eindeutigen Identifizierung jedes Datensatzes verwendet wird. Dieses Beispiel zeigt, wie ein zusammengesetzter Primärschlüssel definiert wird und welche Rolle er bei der Datenintegrität und Abfrageeffizienz spielt. Ich hoffe, dass es hilfreich ist, zusammengesetzte Primärschlüssel zu verstehen. 🎜

Das obige ist der detaillierte Inhalt vonDie Definition und Funktion des zusammengesetzten MySQL-Primärschlüssels. 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!