Rumah pangkalan data tutorial mysql 联合主键和复合主键的区别

联合主键和复合主键的区别

Aug 28, 2019 pm 02:22 PM
kunci utama

一、复合主键

所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键。

例如:

create table test 
( 
   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 
)
Salin selepas log masuk

上面的name和id字段组合起来就是你test表的复合主键 ,它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性 ,一般情况下,主键的字段长度和字段数目要越少越好 。

这里就会有一个疑惑?  主键是唯一的索引,那么为何一个表可以创建多个主键呢?

其实“主键是唯一的索引”这话有点歧义的。举个例子,我们在表中创建了一个ID字段,自动增长,并设为主键,这个是没有问题的,因为“主键是唯一的索引”,ID自动增长保证了唯一性,所以可以。

此时,我们再创建一个字段name,类型为varchar,也设置为主键,你会发现,在表的多行中你是可以填写相同的name值的,这岂不是有违“主键是唯一的索引”这句话么?

所以我才说“主键是唯一的索引”是有歧义的。应该是“当表中只有一个主键时,它是唯一的索引;当表中有多个主键时,称为复合主键,复合主键联合保证唯一索引”。

为什么自增长ID已经可以作为唯一标识的主键,为啥还需要复合主键呢。因为,并不是所有的表都要有ID这个字段,比如,我们建一个学生表,没有唯一能标识学生的ID,怎么办呢,学生的名字、年龄、班级都可能重复,无法使用单个字段来唯一标识,这时,我们可以将多个字段设置为主键,形成复合主键,这多个字段联合标识唯一性,其中,某几个主键字段值出现重复是没有问题的,只要不是有多条记录的所有主键值完全一样,就不算重复。

二、联合主键

联合主键顾名思义就是多个主键联合形成一个主键组合(主键原则上是唯一的,别被唯一值所困扰。)  

联合主键的意义:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。

一个简单的例子 :

主键A跟主键B组成联合主键 

主键A跟主键B的数据可以完全相同,联合就在于主键A跟主键B形成的联合主键是唯一的。 
下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对不充许再出现11这个唯一值。(这就是多对多关系) 

主键A数据 主键B数据 
1      1 
2      2 
3      3

主键A与主键B的联合主键值最多也就是

11 
12 
13 
21 
22 
23 
31 
32 
33

总结: 以我来看复合主键就是含有一个以上的字段组成,如ID+name,ID+phone等,而联合主键要同时是两个表的主题组合起来的。这是和复合主键最大的区别!

相了解更多相关问题请访问PHP中文网:mysql视频教程

Atas ialah kandungan terperinci 联合主键和复合主键的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kunci utama logik mysql Apakah kunci utama logik mysql Jul 10, 2023 pm 01:46 PM

Kunci utama logik MySQL merujuk kepada gabungan medan atau medan yang digunakan untuk mengenal pasti rekod dalam pangkalan data, tetapi ia tidak unik. Kekunci utama logik biasanya digunakan untuk pertanyaan data dan operasi data. Kunci utama logik boleh menjadi sebarang medan dengan sifat mengenal pasti Contohnya, dalam jadual pengguna, nama pengguna boleh digunakan sebagai kunci utama logik kerana ia boleh digunakan untuk mengenal pasti rekod, tetapi ia tidak unik.

Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Redmi K70Pro? Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Redmi K70Pro? Feb 23, 2024 pm 01:40 PM

Telefon bimbit kini menjadi keperluan bagi golongan muda dan pertengahan umur Sudah tentu setiap peringkat umur mempunyai keperluan telefon bimbit yang berbeza. Sebagai salah satu model yang lebih popular sekarang, RedmiK70Pro mempunyai pelbagai fungsi dan perkhidmatan dalaman yang boleh memenuhi keperluan pengguna dari pelbagai peringkat umur. Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Redmi K70Pro? Anda juga perlu memahaminya dengan jelas Hanya selepas anda memahaminya, anda boleh membuat keputusan sama ada untuk membeli telefon bimbit ini. Kemudian ikuti editor untuk melihat kandungan berikut! Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Redmi K70Pro? Untuk mengakses menu tetapan telefon anda, anda boleh membuka antara muka tetapan dengan menarik ke bawah teduh pemberitahuan atau mencari ikon tetapan pada skrin utama anda. Dalam antara muka tetapan, cari dan klik "Butang" atau "Bar Navigasi"

Bagaimana untuk mengaitkan kunci asing MySQL dan kunci utama secara automatik? Bagaimana untuk mengaitkan kunci asing MySQL dan kunci utama secara automatik? Mar 15, 2024 pm 12:54 PM

Bagaimana untuk mengaitkan kunci asing MySQL dan kunci utama secara automatik? Dalam pangkalan data MySQL, kunci asing dan kunci utama adalah konsep yang sangat penting. Ia boleh membantu kami mewujudkan hubungan antara jadual yang berbeza dan memastikan integriti dan konsistensi data. Dalam proses aplikasi sebenar, selalunya perlu untuk mengaitkan kunci asing secara automatik kepada kunci utama yang sepadan untuk mengelakkan ketidakkonsistenan data. Berikut akan memperkenalkan cara melaksanakan fungsi ini melalui contoh kod tertentu. Pertama, kita perlu mencipta dua jadual, satu sebagai jadual induk dan satu lagi sebagai jadual hamba. Buat dalam jadual utama

Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor 90GT? Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor 90GT? Feb 12, 2024 am 09:48 AM

Dengan perkembangan pesat zaman, teknologi telefon bimbit semasa juga sentiasa bertambah baik Dahulu telefon bimbit mempunyai pelbagai butang, tetapi kini ia beransur-ansur dihapuskan Namun, masih ramai yang menggunakan butang untuk mengawal telefon bimbit mereka . Jadi bagaimana untuk menetapkan butang kembali pada Honor 90GT dan kunci utama? Mari lihat di bawah! Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor 90GT? Honor 90GT ialah telefon mudah alih Huawei Kaedah untuk menetapkan kunci pulang dan kunci rumah adalah seperti berikut: Langkah 1: Buka tetapan: Cari ikon "Tetapan" pada desktop telefon dan klik untuk memasuki antara muka tetapan. Langkah 2: Cari pilihan "Sistem dan Kemas Kini": Dalam antara muka tetapan, slaid ke bawah skrin, cari dan klik untuk memasukkan pilihan "Sistem dan Kemas Kini". Langkah 3: Masukkan tetapan bar navigasi: Dalam sistem dan antara muka kemas kini, slaid ke bawah skrin dan cari

Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor X50Pro? Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor X50Pro? Mar 18, 2024 am 11:34 AM

honor Tetapkan kunci pulangan dan kunci utama? Mari lihat di bawah! Bagaimana untuk menetapkan kunci pulangan dan kunci rumah pada Honor X50Pro? 1. Cari ikon "Tetapan" pada skrin utama dan klik pada pilihan fungsi "Sistem dan Kemas Kini" 2. Klik pada "Kaedah Navigasi Sistem" dalam item fungsi Sistem dan Kemas Kini 3. Telefon bimbit Honor menyediakan tiga kunci pulangan; tetapan, yang boleh ditetapkan mengikut Laraskan tetapan anda sendiri: Kaedah menetapkan kunci pulang dan kunci rumah pada telefon Honor X50Pro adalah sangat mudah Anda boleh mengikuti langkah di atas.

Apakah jenis yang digunakan untuk kunci utama mysql? Apakah jenis yang digunakan untuk kunci utama mysql? Jul 18, 2023 pm 03:11 PM

Kunci utama MySQL boleh menggunakan jenis integer, jenis integer meningkat sendiri, jenis UUID atau jenis rentetan. Pengenalan terperinci jenis: 1. Jenis integer, salah satu jenis kunci utama yang paling biasa Dalam MySQL, panjang yang berbeza boleh digunakan jenis sangat sesuai untuk digunakan sebagai kunci Utama, terutamanya dalam senario yang memerlukan pemasukan data serentak yang tinggi 3. Jenis UUID, pengecam unik global 128-bit, yang boleh memastikan keunikan global data 4. Jenis rentetan; disyorkan, dsb.

Bagaimana untuk membuka kunci pulangan dan kunci rumah pada Redmi K70? Bagaimana untuk membuka kunci pulangan dan kunci rumah pada Redmi K70? Feb 23, 2024 am 11:40 AM

RedmiK70 ialah model yang digunakan oleh ramai pengguna Telefon ini telah mengekalkan reputasi yang sangat baik sejak dikeluarkan. Ia sangat menjimatkan kos dan menggunakan konfigurasi prestasi yang sangat berkuasa. Ia juga mempunyai banyak fungsi yang mesra pengguna sendiri, seperti menetapkan kunci pulangan dan kunci utama, tetapi bagaimana untuk menetapkannya secara khusus? Bagaimana untuk menetapkan kunci pulangan dan kunci utama pada Redmi K70? Buka apl Tetapan pada telefon anda. Tatal ke bawah pada halaman tetapan, cari dan klik "Tetapan Tambahan". Selepas memasuki halaman tetapan tambahan, pilih "Butang dan Pintasan Gerak Isyarat." Dalam tetapan Butang dan Pintasan Gerak Isyarat, anda akan melihat pilihan tweak untuk kekunci Kembali dan Laman Utama. Klik pada pilihan "Kekunci Kembali" dan anda boleh memilih untuk mendayakan atau melumpuhkan kekunci belakang perkakasan,

Artikel untuk bercakap tentang kunci utama auto-incrementing dalam MySQL Artikel untuk bercakap tentang kunci utama auto-incrementing dalam MySQL Jul 05, 2022 am 10:08 AM

Artikel ini akan memberi anda pemahaman yang mendalam tentang kunci utama auto-increment dalam MySQL. Saya harap ia akan membantu anda!

See all articles