场景
- 我要 用户细节表 存储用户的具体个人信息,但是为了保证 “一个用户” 配 " 一个 uId " 和 " 一个uName "。保证一个用户的 id 和 名字 ,都不可以重复,需要将 user_id 和 user_name 都设置为主键,可我该如何操作呢?
问题:Mysql 数据库表 如何设置多主键?
解决:
- 在创建表的 sql语句 最后一行,用 PRIMARY KEY() 关键词 设置多主键。因为我需要的 主键 有两个,所以暂且命名为 主键1 和 主键2。
PRIMARY KEY(主键1,主键2)
注:
1. 不是在user_id 和 user_name 后都加上
primary key 关键字。否则,会 报语法错误 哦~
create table user_detail(
user_id int auto_increment primary key ,
user_name varchar(8) primary key ,
user_sex char(2) not null,
user_age int not null,
user_address varchar(20) not null
);
!!! 而是,在字段声明完后,再写一行声明 该表的 关键字。
create table user_detail(
user_id int auto_increment,
user_name varchar(8),
user_sex char(2) not null,
user_age int not null,
user_address varchar(20) not null,
PRIMARY KEY(user_id,user_name)
);