mysql建表键约束(主键约束,自增约束)

a 夏天 提交于 2020-11-26 01:11:41

-- 主键约束:

id  int  primary key

 可以唯一确定一张表中的一条记录,也就是通过给某个字段添加约束,就可以使得字段不重复且不为空。

create table date (
 id  int  primary key,
 sname varchar(20)
)

 

--联合主键 :

primary key(id,sname)
create table date (
id int,
sname varchar(20),
ssex  varchar(5),
sage  int,
primary key(id,sname)

)

  当你插入内容时两条记录字段和起来是不能重复的

insert into date values(1,'李四',18);
insert into date values(2,'李四',18);  //此时不会报错

  当你插入的内容重复时会报错

insert into date vlaues(1,'李四',18);
insert into date vlaues(1,'李四',18);

  

--自增约束:

auto_increment  这个时候id 就会自动增长
create table data(
id  int primary key auto_increment,
sname varchar(20)
)

  当你在插入的时候就可以不用插入id 的值

insert into data(sname) values('李四');  //当你插入内容的时候尤其要注意,  data(sname)    表名后面要接插入的字段名

  

 

当你设置自增约束时,必须要对同一字段设置其他约束,不然就会报错。

CREATE TABLE data(
id int  auto_increment,
sname varchar(20)
)
[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

  

--建表的时候忘记添加主键约束,添加表的主键约束,删除表的主键,修改主键

create table data1(
id int,
sname varchar(20),
sage int
)

alter table data1 add primary key(id); //添加主键的语句
alter table data1 drop primary key; //删除主键的语句
alter table data1 modify id int primary key; //通过修改一字段去给他添加主键

  

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!