sql >> Database teknologi >  >> RDS >> Mysql

Kan en databasetabel være uden en primær nøgle?

Teknisk set kan du deklarere sådan en tabel.

Men i dit tilfælde er time skal gøres til PRIMARY KEY , da det sandsynligvis er forkert at have forskellige temperaturer på samme tid og sandsynligvis nytteløst at have samme mere end én gang.

Logisk set bør hver tabel have en PRIMARY KEY så du kunne skelne mellem to poster.

Hvis du ikke har en kandidatnøgle i dine data, skal du bare oprette en surrogatnøgle (AUTO_INCREMENT , SERIAL eller hvad din database tilbyder).

Den eneste undskyldning for ikke at have en PRIMARY KEY er en log eller lignende tabel, som er underlagt tung DML og at have et indeks på det vil påvirke ydeevnen ud over toleranceniveauet.



  1. MySQL-brugertilladelser

  2. MySQL deaktiver alle triggere

  3. psql:kunne ikke oprette forbindelse til server:Forbindelse nægtet Fejl ved forbindelse til fjerndatabase

  4. Microsoft T-SQL til Oracle SQL oversættelse