/ Existuje spôsob, ako vytvoriť celý rad MySQL jedinečný - mysql, jedinečný

Existuje spôsob, ako vytvoriť celý rad MySQL jedinečný - mysql, jedinečný

Mám stôl v MySQL s 30 stĺpcami a tisíckami záznamov.
Existuje spôsob, akým by som mohol urobiť každý riadok jedinečný, to znamená, že ak už existuje riadok, nemal by som znova vstúpiť do tohto riadku.

Nemôžem tu použiť primárne alebo unikátne kľúče, pretože každý jednotlivý stĺpec sa môže opakovať.
Chcem, aby bol riadok jedinečný. napríklad: -Tak je stôl s

columns->name,age,height,weight.

V tomto stĺpci nemôžem vytvoriť jeden alebo dva stĺpce jedinečné, ale nemal by som mať dva záznamy so všetkými rovnakými údajmi.

odpovede:

10 pre odpoveď č. 1

Potrebujete zložený primárny kľúč.

Kompozitný primárny kľúč informuje MySQL, že chcete, aby váš primárny kľúč bol kombináciou polí.

Viac informácií nájdete tu: Prečo používať viaceré stĺpce ako primárne kľúče (zložený primárny kľúč)


17 pre odpoveď č. 2

Môžete vytvoriť jedinečný index, ktorý obsahuje všetky stĺpce v tabuľke

ALTER TABLE buyers ADD UNIQUE idx_row_unique(first_name,last_name,...);

Týmto spôsobom môžete zachovať jedinečnosť AUTO INCREMENT primárneho kľúča na účely pripojenia, a zároveň zabezpečiť, aby všetky údaje v tabuľke boli jedinečné.


4 pre odpoveď č. 3

Môžete vytvoriť UNIQUE key na všetkých stĺpcoch, nie na jednotlivé jedinečné kľúčev každom stĺpci. To znamená, že kombinácia hodnôt bude jedinečná - presne to, čo potrebujete. Upozorňujeme však, že ak niektorý stĺpec povolí hodnotu null, ak obsahuje stĺpec null hodnota bude považovaná za jedinečnú, aj keď iný riadok obsahuje rovnaké hodnoty null pre rovnakú hodnotu.


2 pre odpoveď № 4

Môžete vytvoriť jedinečný index na viacerýchstĺpec. Stačí vložiť všetky stĺpce do indexu. Ak sú stĺpce veľké, môžete sa dostať do problémov s maximálnou dĺžkou indexu, ale skúste to najprv a uvidíte.