CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id) );
在上面的MySQL创建表的示例中,大家可以看到CREATE TABLE语句中的username列具有NOT NULL和UNIQUE限制。这意味着必须为每个用户提供唯一的用户名,并且不能将NULL值插入该列。
如果您尝试向具有重复用户名的MySQL表中插入数据,MySQL将返回一个错误,并拒绝该操作。
INSERT INTO users (username, password, email) VALUES ('johnDoe', 'password123', 'johndoe@email.com'); INSERT INTO users (username, password, email) VALUES ('johnDoe', 'password456', 'johndoe2@email.com');
执行类似于上面的INSERT INTO语句时,MySQL将返回以下错误:
ERROR 1062 (23000): Duplicate entry 'johnDoe' for key 'username'
因此,MySQL确保每个用户都具有唯一的用户名。