Constraints er alt hvad der begrænser indholdet i databasen. Eksempler på constraints i MySQL er som det allerede er nævnt, datatyper men derudover også NULL, Primary Keys og Indexes (unique).
mySQL understøtter ikke constrains af nogen art.... (så spg. er vel irrelevant i mySQL kat?)
en contrstrain (i database sammenhæng) er som mjl siger "tvinge til at være unik", men det er en database funktion der "checker" om fx. en foreginkey(?) (fx. userID) (et felt der "passer" i den anden tabel ), er unik eller ej.
og hvis databasen understøtter det kan den "tvinge" din insert statement til at slå fejl, hvis du prøver at oprette en post hvor din contstrain (userID) er der i forvejen....
a1 >> her er du for en gangs skyld noget på afveje. Foreign key constraints er ganske rigtigt endnu ikke understøttet af MySQL, men foreign keys er altså kun én type constraint (der anvendes til at sikre referential integrity).
I brede termer sikrer constraints "data integrity" og for lige at fortsætte fra tidligere, er constraints ikke kun noget der sikrer unikke værdier i en række, men det er det også.
Dette simple statement anvender 3 forskellige constraints:
CREATE TABLE MyTable ( MyID int NOT NULL, MyChar varchar(30) NOT NULL,
PRIMARY KEY(MyID) )
int + varchar er datatype constraints der begrænser den information du kan putte i feltet.
NOT NULL er en såkaldt nullability constraint der yderligere begrænser - at felterne ikke kan indeholde NULL.
Og endelig en primary key constraint, der sikrer at alle rækker i tabellen skal indeholde en unik værdi i feltet MyID.
Kigger man udenfor MySQL er der mange flere typer constraints, men dem kan vi tage en anden gang :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.