主键约束和主键约束自动增长
主键约束:primary key
注意:
1.含义:非空且唯一
2.一张表只能有一个字段为主键
3.主键就是表中记录的唯一标识
在创建表时,添加主键约束
create table person(
id int primary key, -- 给id添加主键约束
name varchar(20)
);
insert into stu values(1,'张三'),(1,'李四');
当为id设置主键约束后id是唯一的如果在添加记录时有重复id就会出现
1062 - Duplicate entry '1' for key 'PRIMARY'
意思就是键“PRIMARY”的重复条目“1” 1 出现了重复
添加约束后不可为空,如果添加记录时候没有添加id就会出现
意思就是id没有默认值
删除主键
-- 删除主键
-- 错误:
-- alter table stu modify id int;
-- 正确:
alter table stu drop primary key;
-- 创建完表后 添加主键
alter table stu modify id int primary key;
主键约束自动增长
概念:如果某一列是数值类型的,就可以使用auto_increnemt 来完成值的自动增长
在创建表的时候,添加主键约束并且完成主键自动增长
create table stu(
id int primary key auto_increment, -- 给id添加主键约束自动增长
name varchar(20)
);
insert into stu (id,name) VALUES(null,"张三"),(null,"熊大");
select * from stu;
我们在添加表记录的时候并没有添加id,如果我们添加了into_increment就会自动增长
insert into stu (name) VALUES("熊二"),("光头强");