sql >> Databasteknik >  >> RDS >> Mysql

Kan jag använda VARCHAR som PRIMÄRNYCKEL?

Naturligtvis kan du, i den meningen att din RDBMS låter dig göra det. Svaret på frågan om du bör eller inte dock är det annorlunda:i de flesta situationer bör värden som har en betydelse utanför ditt databassystem inte väljas som en primärnyckel.

Om du vet att värdet är unikt i systemet som du modellerar, är det lämpligt att lägga till ett unikt index eller en unik begränsning i din tabell. Din primärnyckel bör dock i allmänhet vara ett "meningslöst" värde, till exempel ett automatiskt inkrementerat nummer eller en GUID.

Skälet till detta är enkelt:datainmatningsfel och sällsynta ändringar av saker som verkar vara oföränderliga händer. De blir mycket svårare att fixa på värden som används som primärnycklar.



  1. ColdFusion - Infogar arabiska/persiska tecken i mysql

  2. Vad gör ::i PostgreSQL?

  3. Lagrar datetime som UTC i PHP/MySQL

  4. MySQL:Trunkera tabell inom transaktion?