Rumah  >  Artikel  >  pangkalan data  >  Definisi dan fungsi kunci utama komposit MySQL

Definisi dan fungsi kunci utama komposit MySQL

PHPz
PHPzasal
2024-03-15 17:18:041087semak imbas

MySQL 复合主键的定义与作用

Kunci primer komposit dalam MySQL merujuk kepada kunci utama yang terdiri daripada berbilang medan dalam jadual, yang digunakan untuk mengenal pasti setiap rekod secara unik. Tidak seperti kunci utama tunggal, kunci utama komposit dibentuk dengan menggabungkan nilai berbilang medan. Apabila membuat jadual, anda boleh menentukan kunci utama komposit dengan menentukan berbilang medan sebagai kunci utama.

Untuk menunjukkan definisi dan fungsi kunci utama komposit, kami mula-mula mencipta jadual bernama users, yang mengandungi id, username dan e-mel Ketiga-tiga medan ini, antaranya id ialah kunci utama yang meningkat secara automatik, nama pengguna ialah nama pengguna dan e-mel code> ialah alamat e-mel pengguna. Kami akan menggabungkan dua medan nama pengguna dan emel bersama-sama sebagai kunci utama komposit. 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)
);

上面的代码中,通过在 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');

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

INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
-- 输出错误:Duplicate entry 'alice@example.com' for key 'PRIMARY'

Dalam kod di atas, kunci utama komposit ditakrifkan dengan menggunakan KUNCI UTAMA(nama pengguna, e-mel) dalam pernyataan CREATE TABLE dan nama pengguna kod > dan <kod>e-mel</kod> digabungkan bersama sebagai pengecam unik.

Seterusnya kami memasukkan beberapa data ke dalam jadual ambil perhatian bahawa disebabkan kewujudan kunci utama komposit, gabungan nama pengguna dan emel untuk setiap rekod mestilah unik.

rrreee

Jika kami cuba memasukkan sekeping data lain di mana nama pengguna dan emel adalah sama dengan rekod sebelumnya, ralat kekangan unik akan dicetuskan:

rrreee

Ini ialah kunci utama komposit Salah satu fungsinya adalah untuk memastikan gabungan nilai medan setiap rekod dalam jadual adalah unik untuk mengelakkan pertindihan data. 🎜🎜Dalam aplikasi praktikal, kunci utama komposit boleh mengawal integriti data dengan lebih tepat dalam reka bentuk jadual data. Apabila rekod dalam pangkalan data perlu dikenal pasti secara unik melalui pelbagai medan, kunci utama komposit boleh memberikan perlindungan integriti data yang lebih baik. Pada masa yang sama, dalam beberapa pertanyaan dan operasi persatuan jadual, kunci utama komposit juga mempunyai kegunaan khasnya, yang boleh membantu meningkatkan kecekapan dan ketepatan pertanyaan. 🎜🎜Ringkasnya, kunci utama komposit dalam MySQL ialah kunci utama yang terdiri daripada berbilang medan, yang digunakan untuk mengenal pasti setiap rekod secara unik. Contoh ini menunjukkan cara untuk mentakrifkan kunci utama komposit dan peranannya dalam integriti data dan kecekapan pertanyaan Saya harap ia akan membantu untuk memahami kunci utama komposit. 🎜

Atas ialah kandungan terperinci Definisi dan fungsi kunci utama komposit MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn