sql >> Databáze >  >> RDS >> Mysql

Může být databázová tabulka bez primárního klíče?

Technicky můžete takovou tabulku deklarovat.

Ale ve vašem případě time by měl být nastaven jako PRIMARY KEY , protože je pravděpodobně špatné mít různé teploty po stejnou dobu a pravděpodobně zbytečné mít stejné více než jednou.

Logicky by každá tabulka měla mít PRIMARY KEY abyste mohli rozlišit dva záznamy.

Pokud v datech kandidátský klíč nemáte, vytvořte si náhradní (AUTO_INCREMENT , SERIAL nebo cokoli, co vaše databáze nabízí).

Jediná výmluva, proč nemáte PRIMARY KEY je log nebo podobná tabulka, která je předmětem těžkého DML a mít na něm index ovlivní výkon nad rámec tolerance.



  1. Dynamické předávání názvů sloupců pro proměnnou záznamu v PostgreSQL

  2. Upozornění a upozornění ze SkySQL

  3. MySQL – Vysvětlení kódování a řazení znakové sady databáze

  4. Automatizované testování procesu upgradu pro PXC/MariaDB Galera Cluster