假设有如下建表语句:
CREATE TABLE user (
id varchar(32) NOT NULL COMMENT ‘id’,
name varchar(100) NOT NULL COMMENT ‘姓名’,
gender varchar(200) NOT NULL COMMENT ‘性别’,
age int NOT NULL COMMENT ‘年龄’,
updateTime datetime DEFAULT NULL,
PRIMARY KEY (id) USING BTREE,
UNIQUE KEY user_info (name,gender,age) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
之后向表中添加如下字段:
zhangsan,male,27;
lisi,male,27;
lisi,female,27;
lisi,female,25;
结果如下:


但是当再次添加同样的(name,gender,age)组时会显示重复:

因此,UNIQUE KEY user_info (name,gender,age) 的作用是令name、gender、age三个字段的值至少有一个不同
mysql中unique key的作用
最新推荐文章于 2026-04-22 23:53:55 发布
本文探讨了数据库设计中的UNIQUE约束,通过一个CREATE TABLE语例展示了如何在MySQL中创建带有UNIQUE KEY的表。该约束确保name、gender和age字段的组合具有唯一性,防止数据重复插入。当尝试插入重复的(name, gender, age)记录时,系统将返回错误,强调了数据完整性的重要性。

7954

被折叠的 条评论
为什么被折叠?



