Soru MySql - Birincil anahtar varsayılan olarak benzersiz mi?


Bir sütunu MySql'de birincil anahtar olarak tanımlarsam, varsayılan olarak da benzersiz bir anahtar mı yoksa benzersiz anahtar olarak mı tanımlamalıyım (benzersiz olmasını istiyorsam)?

Bu soruyu gördüm B / w Birincil Anahtar ve Benzersiz Anahtar arasındaki fark nedir? Bu ikisi arasındaki farkı açıklar ama benim soruma tam olarak cevap vermez. PK varsayılan olarak İngiltere'dir veya açık bir şekilde tanımlamam gerekiyor.


21
2018-06-18 09:43


Menşei


olası kopyası B / w Birincil Anahtar ve Benzersiz Anahtar arasındaki fark nedir? - Akhil
@Akhil - Bu soruyu bağlantıda gördüm, bu ikisi arasındaki farkı açıklıyor ama tam olarak soruma cevap vermiyor. PK varsayılan olarak BK'tır veya açık bir şekilde tanımlamam gerekir. - Roee Gavirel
olası kopyası birincil anahtar ile benzersiz anahtar arasındaki fark - James Z


Cevaplar:


Birincil anahtar her zaman benzersizdir her SQL'de. Bunu açıkça BENZERSIZ olarak tanımlamanız gerekmez.

Bir yan notta: Bir tabloda yalnızca bir Öncü anahtar olabilir ve boş değerlere asla izin vermez. Ayrıca, tabloda yalnızca bir birincil anahtar kısıtlaması olabilir (birincil anahtar oluşturma noktası, tablonuzdaki satırı benzersiz şekilde tanımlamak olduğundan), ancak tablonuzda birden fazla benzersiz anahtar kısıtlaması olabilir.

Örnek:

Birincil anahtar olarak Empida ve EmpPhoneNo benzersiz anahtar olarak çalışan bir çalışan ayrıntıları tablosu.


25
2018-06-18 09:45



başka bir nokta: bir masa olabilir sadece bir tane birincil anahtar Kısıtlama ama istediğiniz benzersiz KISIM kısıtlamaları olabilir - UUIUI
@GoodBadandUgly: - Evet iyi bir nokta! +1 - Rahul Tripathi
Aslında birincil anahtar ile NULL arasında olmayan birincil anahtar arasında daha fazla fark vardır. Ama bu soru değil. - Jakub Matczak


Birincil anahtar her zaman tanım gereği benzersizdir. Sadece MySQL'de değil. Yani, ek benzersiz bir anahtara ihtiyacınız yok.


3
2018-06-18 09:45