Setting CHECK Constraints : Constraint : Table Index SQL / MySQL


SQL / MySQL » Table Index » Constraint »

 

Setting CHECK Constraints



/*
mysql> Drop TABLE Employee;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE Employee (
    ->    Name    VARCHAR(50) PRIMARY KEY NOT NULL,
    ->    Phone   VARCHAR(15) DEFAULT 'Unknown Phone',
    ->    Age     INT,
    ->    CONSTRAINT CheckAge CHECK (Age BETWEEN 20 and 30));
Query OK, 0 rows affected (0.05 sec)

mysql> Describe Employee;
+-------+-------------+------+-----+---------------+-------+
| Field | Type        | Null | Key | Default       | Extra |
+-------+-------------+------+-----+---------------+-------+
| Name  | varchar(50) |      | PRI |               |       |
| Phone | varchar(15) | YES  |     | Unknown Phone |       |
| Age   | int(11)     | YES  |     | NULL          |       |
+-------+-------------+------+-----+---------------+-------+
3 rows in set (0.00 sec)

mysql> INSERT INTO Employee (Name, Phone, Age) VALUES ('Joe Yin', '666 2323', 26
);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Employee (Name, Age) VALUES ('John Doe', 31);
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO Employee (Name, Phone) VALUES ('Joe Yin', NULL);
ERROR 1062 (23000): Duplicate entry 'Joe Yin' for key 1
mysql> Select * from Employee;
+----------+---------------+------+
| Name     | Phone         | Age  |
+----------+---------------+------+
| Joe Yin  | 666 2323      |   26 |
| John Doe | Unknown Phone |   31 |
+----------+---------------+------+
2 rows in set (0.00 sec)


*/
Drop TABLE Employee;

CREATE TABLE Employee (
   Name    VARCHAR(50PRIMARY KEY NOT NULL, 
   Phone   VARCHAR(15DEFAULT 'Unknown Phone',
   Age     INT,
   CONSTRAINT CheckAge CHECK (Age BETWEEN 20 and 30));
  
Describe Employee;

INSERT INTO Employee (Name, Phone, AgeVALUES ('Joe Yin', '666 2323', 26);
INSERT INTO Employee (Name, AgeVALUES ('John Doe', 31);
INSERT INTO Employee (Name, PhoneVALUES ('Joe Yin', NULL);

Select * from Employee;



           
       



Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

SQL / MySQL

 Navioo Table Index
» Constraint