MySQL 将列更改为唯一

标签 mysql sql database unique alter

我有一个保存用户个人资料信息的数据库表。 有时,当用户注册时,他们会被重复,并具有相同记录的额外列,有时则不会。

所以,我想知道是否将“唯一”放在“电子邮件”列上,以确保用户在注册时不会重复。

我认为应该是这样的:

ALTER TABLE users ADD UNIQUE idx_row_unique(email);

但是如果 Unique 给出错误,我该如何撤消它?

只是怕我改了之后不知道怎么撤消。

最佳答案

如果存在重复的电子邮件,则更改表应该失败。所以你是安全的!

关于MySQL 将列更改为唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820333/

相关文章:

mysql - 使用 IN 运算符的子查询

sql - SQLite 插入中的 NS_ERROR_FAILURE

php - 站点在 Drupal 7 中停留在维护模式

php - 用于插入 MySQL 数据库的 python 脚本 - 特殊符号 - unicode : search and store

mysql - 批量更新大型 InnoDB 表中未索引的列

mysql - SQL 与 MySQL : Rules about aggregate operations and GROUP BY

Mysql 使用 sudo,但不使用 sudo。 (ubuntu 16.04, mysql 5.7.12-0ubuntu1.1)

database - docker 和 PostgreSQL : can not create database having '-' in database name during initialization

mysql - #1111 - 组函数使用无效 - MYSQL

sql - 使用 SQL Server DTS 包在目标表中有条件地插入/更新行