Összefoglaló: ebben az oktatóanyagban megtudhatja, hogyan kell használni a MySQL elsődleges kulcs korlátozását az elsődleges kulcs létrehozásához egy táblához.
Bevezetés a MySQL elsődleges kulcsba
Az elsődleges kulcs egy oszlop vagy oszlopkészlet, amely egyedileg azonosítja a táblázat egyes sorait. Az elsődleges kulcs ezeket a szabályokat követi:
- Az elsődleges kulcsnak egyedi értékeket kell tartalmaznia. Ha az elsődleges kulcs több oszlopból áll, akkor az ezen oszlopokban szereplő értékek kombinációjának egyedinek kell lennie.
- Az elsődleges kulcs oszlopának nem lehetnek
NULL
értékei. AzNULL
elsődleges kulcs oszlopokba történő behelyezésére vagy frissítésére tett kísérlet hibát eredményez. Ne feledje, hogy a MySQL implicit módon egyNOT NULL
korlátozást ad az elsődleges kulcs oszlopaihoz. - A tábláknak csak egy elsődleges kulcsa lehet.
Mivel a MySQL gyorsabban működik egész számokkal az elsődleges kulcs oszlop adattípusának meg kell felelnie az egész számnak, pl. INT,
BIGINT
. És győződjön meg arról, hogy az elsődleges kulcs egész típusú értéktartományai elegendőek-e a táblázat összes lehetséges sorának tárolásához.
Az elsődleges kulcs oszlopban gyakran szerepel a AUTO_INCREMENT
attribútum, amely automatikusan szekvenciális egész számot generál, amikor új sort szúr be a táblába.
Amikor meghatároz egy elsődleges kulcsot egy táblához, a MySQL automatikusan létrehoz egy .
MySQL elsődleges kulcs példák
A PRIMARY KEY
korlátozás lehetővé teszi egy tábla elsődleges kulcsának meghatározását amikor létrehoz vagy módosít egy táblázatot.
1) Adjon meg egy ELSŐDLEGES KULCS-kényszert a Táblázat létrehozása
Általában a tábla elsődleges kulcsát a utasítás.
Ha az elsődleges kulcsnak egy oszlopa van, akkor az PRIMARY KEY
kényszert oszlopkorlátozásként használhatja:
Code language: SQL (Structured Query Language) (sql)
Ha az elsődleges kulcsnak több oszlopa van, akkor a th e PRIMARY KEY
kényszer, mint tábla kényszer.
Ebben a szintaxisban vesszőkkel elválasztja az oszlopokat a column_list
-ben ( ,).
A PRIMARY KEY
tábla korlátozása akkor használható, ha az elsődleges kulcsnak egy oszlopa van:
A következő példa létrehoz egy táblát users
amelynek elsődleges kulcsa a user_id
oszlop:
Ez az utasítás létrehozza a roles
tábla, amelynek PRIMARY KEY
megszorítása van a tábla korlátozásaként:
Ha az elsődleges kulcs több oszlopból áll, akkor a végén meg kell adnia őket a CREATE TABLE
utasításból. Az elsődleges kulcs oszlopok vesszővel elválasztott listáját a zárójelek közé helyezi, követve az PRIMARY KEY
kulcsszavakat.
A következő példa létrehozza a user_roles
tábla, amelynek elsődleges kulcsa két oszlopból áll: user_id
és role_id
. A PRIMARY KEY
korlátozást tábla korlátozásként határozza meg:
Ne feledje, hogy az utasítás két idegen kulcs kényszert is létrehozott.
2) Definiálja az elsődleges KULCS-korlátozások az ALTER TABLE használatával
Ha egy táblának valamilyen okból nincs elsődleges kulcsa, akkor az ALTER TABLE
utasítással hozzáadhat egy elsődleges kulcsot a táblázat az alábbiak szerint:
Code language: SQL (Structured Query Language) (sql)
A következő példa hozzáadja az id
oszlopot az elsődleges kulcshoz.
Először hozza létre a pkdemos
táblázatot elsődleges kulcs nélkül.
Code language: SQL (Structured Query Language) (sql)
Másodszor adjon hozzá egy elsődleges kulcs a pkdemos
táblához a ALTER TABLE
utasítás használatával:
Code language: SQL (Structured Query Language) (sql)
Ha hozzáad egy elsődleges kulcsot egy olyan táblához, amely már rendelkezik adatokkal. Az oszlop (ok) ban az elsődleges kulcsban szereplő adatoknak egyedieknek és nem NULL értékűeknek kell lenniük.
ELSŐKULCS ÉS UNIKÁLIS KULCS ÉS KULCS
KEY
a INDEX
szinonimája. Akkor használja a KEY
szolgáltatást, ha indexet szeretne létrehozni egy oszlophoz vagy oszlopkészlethez, amely nem része az elsődleges kulcsnak vagy az egyedi kulcsnak.
A UNIQUE
index biztosítja, hogy az oszlopban szereplő értékeknek egyedinek kell lenniük. A PRIMARY
indexel ellentétben a MySQL NULL
értékeket engedélyez a UNIQUE
indexben. Ezenkívül egy táblának több UNIQUE
indexe is lehet.
Tegyük fel, hogy email
és iv id = “a8ac12086e A users
tábla felhasználói “>
egyedinek kell lennie.A szabályok érvényesítéséhez megadhat UNIQUE
indexeket a email
és username
oszlopokhoz, mint a következő állítás:
Adjon hozzá egy UNIQUE
indexet az username
oszlophoz:
Code language: SQL (Structured Query Language) (sql)
UNIQUE
index hozzáadása a email
oszlophoz:
Code language: SQL (Structured Query Language) (sql)
Ebben az oktatóanyagban megtanulta, hogyan hozhat létre elsődleges kulcsot egy új táblához, vagy hogyan adhat hozzá egy elsődleges kulcsot egy meglévő táblához.
- Hasznos volt ez az oktatóanyag?
- IgenNem