CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50) UNIQUE,
password VARCHAR(50)
);
上面的示例中,大家创建了一个名为users的数据表,并给username字段添加了UNIQUE约束,这意味着该字段的值必须是唯一的。如果大家尝试插入一个值已经存在的记录,MySQL会抛出以下错误:
ERROR 1062 (23000): Duplicate entry 'john' for key 'username'
除了使用CREATE TABLE时定义UNIQUE约束外,大家还可以使用ALTER TABLE语句来为已存在的数据表添加该约束:
ALTER TABLE users ADD UNIQUE (username);
大家还可以为多个字段定义联合唯一性约束,这意味着这些字段的组合必须是唯一的:
CREATE TABLE orders (
id INT PRIMARY KEY,
user_id INT,
order_no VARCHAR(50),
UNIQUE (user_id, order_no)
);
上面的示例中,大家创建了一个名为orders的数据表,并为user_id和order_no字段定义了联合唯一性约束。
总之,MySQL的UNIQUE约束是一种很有用的特性,它能够保证数据库表中特定字段的值是唯一的,从而避免了数据冲突和重复问题。