/ Tabuľka spojov bez primárneho kľúča - mysql, sql, innodb, križovatka

Tabuľka spojov bez primárneho kľúča - mysql, sql, innodb, križovatka

Povedz, že mám križovatku na vyriešenie mnohých vzťahov, ktoré mám medzi dvoma tabuľkami. Moja križovatka má tiež svoj vlastný stĺpec "Metóda" na popis vzťahu. Príklad tabuľky spojov

Za normálnych okolností by som vytvoril zložený primárny kľúč[a], [b] a [method] (metóda musí byť súčasťou toho, čo robia riadok jedinečný), ale mojim problémom je, že pole [method] môže byť NULL. Preto ju nemôžem pridať na primárny kľúč.

Takže to, čo som urobil, je vytvoriť jedinečný index:

ALTER TABLE A_B ADD UNIQUE INDEX `Unique` (`a`, `b`, `method`);

Tabuľka nemá primárny kľúč. Je to správna vec robiť alebo potrebujem urobiť niečo iné?

odpovede:

1 pre odpoveď č. 1

Použitie primárneho kľúča nie je jediným spôsobom, ako zabezpečiť jedinečnosť záznamov. Existuje jedinečné obmedzenie, ktoré môžete vykonať na dosiahnutie toho, čo je potrebné.

http://www.w3schools.com/sql/sql_unique.asp