Setting CHECK Constraints : Constraint « Table Index « SQL / MySQL

Home
SQL / MySQL
1.Aggregate Functions
2.Backup Load
3.Command MySQL
4.Cursor
5.Data Type
6.Database
7.Date Time
8.Engine
9.Event
10.Flow Control
11.FullText Search
12.Function
13.Geometric
14.I18N
15.Insert Delete Update
16.Join
17.Key
18.Math
19.Procedure Function
20.Regular Expression
21.Select Clause
22.String
23.Table Index
24.Transaction
25.Trigger
26.User Permission
27.View
28.Where Clause
29.XML
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,
    ->    PhoneNo VARCHAR(15) DEFAULT 'Unknown Phone',
    ->    Age     INT CHECK (Age BETWEEN 20 and 30));
Query OK, 0 rows affected (0.07 sec)

mysql> Describe Employee;
+---------+-------------+------+-----+---------------+-------+
| Field   | Type        | Null | Key | Default       | Extra |
+---------+-------------+------+-----+---------------+-------+
| Name    | varchar(50) |      | PRI |               |       |
| PhoneNo | 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 Wang', '666 2323', 26
);
ERROR 1054 (42S22): Unknown column 'Phone' in 'field list'
mysql> INSERT INTO Employee (Name, Age) VALUES ('John Doe', 31);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Employee (Name, Phone) VALUES ('Joe Wang', NULL);
ERROR 1054 (42S22): Unknown column 'Phone' in 'field list'
mysql> Select * from Employee;
+----------+---------------+------+
| Name     | PhoneNo       | Age  |
+----------+---------------+------+
| John Doe | Unknown Phone |   31 |
+----------+---------------+------+
1 row in set (0.00 sec)


*/
Drop TABLE Employee;       
       
CREATE TABLE Employee (
   Name    VARCHAR(50PRIMARY KEY NOT NULL, 
   PhoneNo VARCHAR(15DEFAULT 'Unknown Phone',
   Age     INT CHECK (Age BETWEEN 20 and 30));

Describe Employee;

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

Select * from Employee;

           
         
  
Related examples in the same category
1.Setting CHECK Constraints: age between
2.Setting CHECK Constraints: character by character
3.Drop constraint by name
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.