一、Primary key与Unique key的区别
Unique Key 是唯一主键
Primary key 是主键
Primary key 与UniqueKey都是唯一性约束
区别:
1.Primary key的列必须为NOT NULL 如果列为null,在增加PRIMARY
时,列自动更改为NOT NuLL。而UNIQUE KEY对列没有要求
2.一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY
背景表
CREATE TABLE `user` (
`id` int(10) NOT NULL,
`username` varchar(10) DEFAULT NULL,
`gender` char(2) DEFAULT NULL,
`age` varchar(10) DEFAULT NULL,
`worker` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `i_name` (`username`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在记录不存在时会执行插入操作,有重复记录的话则执行修改命令
INSERT…ON DUPLICATE KEY UPDATE
示例:
insert IGNORE into User (id,username,gender,age,worker) VALUES(2,"AnQi","女","22","wife") on DUPLICATE KEY UPDATE username=VALUES(username),age="22"