字段名 数据类型 AUTO_INCREMENT
mysql> CREATE TABLE tb_student( -> id INT(4) PRIMARY KEY AUTO_INCREMENT, -> name VARCHAR(25) NOT NULL -> ); Query OK, 0 rows affected (0.07 sec)上述语句执行成功后,会创建名为 tb_student 的数据表。其中,id 为主键,每插入一条新记录,id 的值就会在前一条记录的基础上自动加 1。name 为非空字段,该字段的值不能为空值(NULL)。
INSERT INTO tb_student(name) VALUES('Java')('MySQL')('Python');语句执行完后,tb_student 表中增加了 3 条记录,在这里并没有输入 id 的值,但系统已经自动添加该值,使用 SELECT 命令查看记录,如下所示。
mysql> SELECT * FROM tb_student; +----+--------+ | id | name | +----+--------+ | 1 | Java | | 2 | MySQL | | 3 | Python | +----+--------+ 4 rows in set (0.01 sec)
mysql> CREATE TABLE tb_student2 ( -> id INT NOT NULL AUTO_INCREMENT, -> name VARCHAR(20) NOT NULL, -> PRIMARY KEY(ID) -> )AUTO_INCREMENT=100; Query OK, 0 rows affected (0.03 sec)向 tb_student2 表中插入数据,并使用 SELECT 命令查询表中记录。
mysql> INSERT INTO tb_student2 (name)VALUES('Java'); Query OK, 1 row affected (0.07 sec) mysql> SELECT * FROM tb_student2; +-----+------+ | id | name | +-----+------+ | 100 | Java | +-----+------+由结果可以看出,id 值从 100 开始自动增长。
mysql> CREATE TABLE tb_student3( -> id INT PRIMARY KEY AUTO_INCREMENT, -> name VARCHAR(20) UNIQUE KEY, -> age INT DEFAULT NULL -> ); Query OK, 0 rows affected (0.04 sec)向 tb_student3 表中插入数据,SQL 语句如下:
INSERT INTO tb_student3 VALUES(1,1,1);
mysql> INSERT INTO tb_student3 VALUES(null,1,1);
ERROR 1062 (23000): Duplicate entry '1' for key 'name'
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有