SQL/MySQL/Table Index/Default Value

Материал из SQL эксперт
Перейти к: навигация, поиск

Specifying Default Values 1

/*
mysql> DROP TABLE Employee;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE Employee (
    ->    Name    VARCHAR(50) NOT NULL,
    ->    Phone VARCHAR(15) DEFAULT "Unknown Phone" NOT NULL);
Query OK, 0 rows affected (0.06 sec)
mysql> Describe Employee;
+-------+-------------+------+-----+---------------+-------+
| Field | Type        | Null | Key | Default       | Extra |
+-------+-------------+------+-----+---------------+-------+
| Name  | varchar(50) |      |     |               |       |
| Phone | varchar(15) |      |     | Unknown Phone |       |
+-------+-------------+------+-----+---------------+-------+
2 rows in set (0.00 sec)
mysql> INSERT INTO Employee (Name, Phone) VALUES ("Joe Wang", "666 2323");
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Employee (Name) VALUES ("Joe Wang");
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO Employee (Name, Phone) VALUES ("Joe Wang", NULL);
ERROR 1048 (23000): Column "Phone" cannot be null
mysql> select * from Friday;
ERROR 1146 (42S02): Table "t.friday" doesn"t exist
*/  
DROP TABLE Employee;
CREATE TABLE Employee (
   Name    VARCHAR(50) NOT NULL, 
   Phone VARCHAR(15) DEFAULT "Unknown Phone" NOT NULL);
Describe Employee;
INSERT INTO Employee (Name, Phone) VALUES ("Joe Wang", "666 2323");
INSERT INTO Employee (Name) VALUES ("Joe Wang");
INSERT INTO Employee (Name, Phone) VALUES ("Joe Wang", NULL);
select * from Friday;