天天看點

第二章 第四節:自動編号和主鍵限制——AUTO_INCREMENT和PRIMARY KEY

1、自動編号(AUTO_INCREMENT),必須與主鍵組合使用

設定為主鍵的列被AUTO_INCREMENT修飾後,預設情況下,起始值為1,增量也為1。

2、主鍵(PRIMARY KEY)

每張資料表隻能存在一個主鍵

主鍵保證記錄的唯一性

主鍵自動為NOT NULL

3、AUTO_INCREMENT必須與主鍵一起使用,主鍵不一定必須與AUTO_INCREMENT一起使用。

舉例:建立表t3,設定主鍵id,無符号并自動編号,屬性name,設定非空。

CREATE TABLE t3(

id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY;

name VARCHAR(20) NOT NULL

);

顯示表t3内容,

SHOW COLUMNS FROM t3;

+----------+----------------------+------+----------+---------+----------------+

| Field    | Type                        | Null | Key | Default | Extra          |

+----------+----------------------+------+-----------+---------+----------------+

| id       | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |

| name | varchar(30)               | NO   |        | NULL    |                  |

+----------+----------------------+------+-----------+---------+----------------+

驗證:向表中添加四個人的名字,那麼這四個人的id就會自動編号

mysql> INSERT t3(username) VALUES ('TOM');

Query OK, 1 row affected (0.07 sec)

mysql> INSERT t3(username) VALUES ('JOHN');

Query OK, 1 row affected (0.06 sec)

mysql> INSERT t3(username) VALUES ('ROSE');

Query OK, 1 row affected (0.07 sec)

mysql> INSERT t3(username) VALUES ('BOB');

Query OK, 1 row affected (0.06 sec)

mysql> SELECT * FROM t3;

+----+----------+

| id | username |

+----+----------+

|  1 | TOM      |

|  2 | JOHN     |

|  3 | ROSE     |

|  4 | BOB      |

+----+----------+

繼續閱讀