唯一约束验证命令MySql / MariaDb

时间:2015-01-08 10:20:59

标签: mysql sql mariadb

刚刚遇到一个关于UNIQUE CONSTRAINT验证命令的有趣问题。

是否可以告诉Mysql(或MariaDB)在另一个之前验证一个唯一约束(id之前email)?

CREATE TABLE IF NOT EXISTS users (
  `pk` int unsigned NOT NULL AUTO_INCREMENT,
  `id` VARCHAR(50) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `name` VARCHAR(100) NOT NULL,
  `password` VARCHAR(100),
  PRIMARY KEY (pk),
  UNIQUE INDEX id (id),
  UNIQUE INDEX email (email),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

如果id约束失败则是重复提交,如果email失败则导致业务失败,创建第二个已注册电子邮件的用户。

当然,它可以通过首先搜索它来解决,但这会更平滑。

0 个答案:

没有答案