CHECK, preveri
Vadnica logo
vadnica logo
x
HTML CSS JavaScript jQuery SQL PHP Laravel
HTML CSS JavaScript jQuery MySQL PHPStorm Database

MySQL SQL

SELECT DISTINCT WHERE AND OR NOT ORDER BY INSERT INTO NULL UPDATE DELETE LIMIT MAX MIN COUNT AVG SUM LIKE WILDCARDS IN BETWEEN AS INNER JOIN LEFT JOIN RIGHT JOIN CROSS JOIN SELF JOIN UNION GROUP BY HAVING EXISTS ANY ALL INSERT SELECT CASE IF NULL COALESCE Operaterji

MySQL Database

CREATE DATABASE DROP DATABASE CREATE TABLE DROP TABLE ALTER TABLE CONSTRAINTS NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT CREATE INDEX AUTO-INCREMENT DATE CREATE VIEW FUNKCIJE DATA TYPE Združevalne funkcije XAMPP PHP Laravel

CHECK (slo. Preveri)

Omejitev CHECK se uporablja za omejitev obsega vrednosti, ki se lahko postavi v stolpec tabele. Če za stolpec določimo omejitev CHECK bo dovoljevala le določene vrednosti za ta stolpec. Če za tabelo definiramo omejitev CHECK, lahko omeji vrednost v določenih stolpcih na podlagi vrednosti v drugih stolpcih vrstice. Naredimo tabelo kupci, kjer bomo omejili starost na 50 let.

CREATE TABLE kupci (
    id_kupca INT,
    ime_kupca VARCHAR(100),
    starost_kupca INT,
    CONSTRAINT preveri_starost_kupca CHECK (starost_kupca >= 18)
);
    
CHECK 1
CHECK 1

Vnesemo podatke v tabelo:

INSERT INTO kupci (id_kupca, ime_kupca, starost_kupca)
VALUES
    (1, 'Jure', 23),
    (2, 'Bojan', 50),
    (3, 'Nina', 65),
    (4, 'Lili', 87),
    (5, 'Simona', 19);
    
CHECK 2
CHECK 2

V tem primeru nam je vpisal vse podatke, kot smo jih vpisali, v tabelo kupci, ker smo uporabili CHECK omejevanje na manj ali enako 18. Ker so vsi kupci starejši od 18 let, je bil vpis podatkov brez težav, ampak, kaj pa se zgodi, če vpišemo manjšo osebo od 18 let?

INSERT INTO kupci (id_kupca, ime_kupca, starost_kupca)
VALUES
    (6, 'Luka', 18),
    (7, 'Sandra', 15);
    
CHECK 3
CHECK 3

Zaradi nastavljene omejitve, nam javi napako:

[2024-06-01 11:07:33] [23000][4025] (conn=24) CONSTRAINT `preveri_starost_kupca` failed for `baza_podatkov`. `kupci`
(slo. [2024-06-01 11:07:33] [23000][4025] (conn=24) OMEJITEV `preveri_starost_kupca` ni uspelo za `baza_podatkov`.`kupci`)

Vpis v tabelo tako ni mogoč in moramo popraviti omejitev ali starost kupca pri vpisovanju v tabelo.

Če želimo izbrisati omejitev CHECK vpišemo:

ALTER TABLE kupci
DROP CONSTRAINT preveri_starost_kupca;
    
CHECK 4
CHECK 4

V primeru, da želimo omejitev CHECK ustvariti za stolpec starost_kupca vpišemo:

ALTER TABLE kupci
ADD CHECK (starost_kupca >= 18);
    
CHECK 5
CHECK 5

V primeru, da uporabimo CONSTRAINTS potem lahko določimo ime omejitve, kot smo to storili pri izdelavi tabele (CONSTRAINT preveri_starost_kupca CHECK (starost_kupca >= 18)), v nasprotnem primeru je to ime CONSTRAINT_zaporednaŠtevilka.

Hvala za obisk! Dodajam politiko zasebnosti.

© 2024 Vse pravice pridržane.

Donirajte preko PayPal ADMIN