Inayofungaji wa UNIQUE wa SQL

Inayofungaji wa UNIQUE wa SQL

Mashambulizi ya UNIQUE inaonyesha kina kwa kina kwenye tabia ya database.

Mashambulizi ya UNIQUE na PRIMARY KEY zinajifanyia mkutano wa kina kwa kufikiria kina kwenye tabia au kikomo cha kina.

PRIMARY KEY ina mashambulizi wa UNIQUE yenye uadilifu wa kuzungumza.

Tunaonesha kwamba kila tabia inaweza kuwa na mashambulizi ya UNIQUE zaidi ya moja, lakini kila tabia inaweza kuwa na kina kwa PRIMARY KEY moja tu.

Mashambulizi wa UNIQUE Constraint kwa Kurejea Tabia

Mashambulizi wa SQL kwa kumuea ukingo wa 'Id_P' kwa kuzungumza kwa kina kwenye tabia 'Persons':

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Kama inahitajika kuwa na jina la kikamilifu cha UNIQUE na kuandaa kikamilifu cha kufikiria vifaa vingine, tumekuwa na uamuzi wa SQL hapa chini:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)

Kikamilifu cha UNIQUE cha SQL kwenye ALTER TABLE

Kama tabia imeundwa, kama inahitajika kuandaa kikamilifu cha UNIQUE kwenye kolumna "Id_P", tumekuwa na SQL hapa chini:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Kuwa na jina la kikamilifu cha UNIQUE na kuandaa kikamilifu cha kufikiria vifaa vingine, tumekuwa na uamuzi wa SQL hapa chini:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

Kuondoa kikamilifu cha UNIQUE

Kuondoa kikamilifu cha UNIQUE, tumekuwa na SQL inayotumiwa hapa chini:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID