sql >> Database >  >> RDS >> Mysql

Moet men een unieke id genereren voor elke rij in een databasetabel die anders geen unieke sleutels heeft?

Je kunt altijd een eenvoudige numerieke primaire sleutel toevoegen (bijv. mysql auto_increment), zodat je WEL een unieke identifier krijgt voor elke rij. Samengestelde primaire sleutels zijn erg vervelend als u de tabel in een externe-sleutelrelatie moet gebruiken, waardoor u gedwongen wordt om elk van de velden van de primaire sleutelcomponenten in alle joins/FK-specificaties op te sommen. Ter vergelijking:het toevoegen van een eenvoudige primaire sleutel int reduceert u tot het dragen van dat ene veld voor de FK/join-relaties.

Ik zou iets voorstellen in de trant van:

patients (id, name, ....)
meds (id, brand, name, ...)
patient_meds (patient_id, med_id, dosage, ...)


  1. Waarom kan ik geen alias gebruiken in een DELETE-instructie?

  2. SQL-query werkt in phpmyadmin maar niet in php

  3. Krijg het totale aantal rijen in ORACLE en krijg dan slechts 4 resultaten

  4. Mysql InnoDB prestatie-optimalisatie en indexering