sql >> Database >  >> RDS >> Mysql

Waarom zijn twee primaire sleutels in een tabel niet toegestaan?

U kunt zoveel UNIEKE SLEUTEL-beperkingen hebben als uw databasesysteem toestaat, en veel relationele puristen zien het nu als een vergissing om één te verhogen. van deze sleutels en zalf het als PRIMAIRE.

Logischerwijs vervullen zowel unieke sleutelbeperkingen als primaire sleutels hetzelfde doel:het definiëren van een subset van kolommen waarmee rijen uniek kunnen worden geïdentificeerd. Ze zouden ook in aanmerking moeten komen als doelen voor externe sleutelbeperkingen.

Bepaalde standaardinstellingen (zoals nullabiliteit) worden automatisch toegepast door primaire-sleutelbeperkingen, maar er is geen reden waarom u dezelfde beperkingen niet handmatig kunt toepassen op kolommen die zijn opgenomen in unieke sleutelbeperkingen.



  1. De ALTER TABLE-instructie was in strijd met de FOREIGN KEY-beperking

  2. Scrabble-woordzoeker:een trie bouwen, een trie opslaan, een trie gebruiken?

  3. Python/postgres/psycopg2:ID van zojuist ingevoegde rij ophalen

  4. Heeft de volgorde van tabellen in rechte joins, zonder hintrichtlijnen, invloed op de prestaties?