实施触发器以禁止重复的用户名

时间:2018-11-27 06:17:31

标签: mysql triggers

我希望触发器在每当用户尝试使用以前使用过的用户名创建帐户时显示警告。 用户详细信息存储在用户表中,该表包含(uid,uname,uemail,upass,created_at)

1 个答案:

答案 0 :(得分:0)

老实说,在uname用户名字段上添加唯一索引可能会更容易:

ALTER TABLE users ADD CONSTRAINT cnstr UNIQUE KEY (uname);

假设触发器的部分作用是阻止任何尝试使用以前使用过的用户名的插入,无论如何,将这个唯一索引放在适当位置将是一个好主意。

关于如何处理重复的插入,插入将在应用程序级别失败,您甚至可以找出错误的根本原因,并向用户显示更集中的错误消息。 / p>