我有一个已经存在的表,其中的字段应该是唯一的,但不是唯一的.我之所以知道这一点,是因为表中的一个条目与另一个已经存在的条目具有相同的值,这导致了问题.

如何使此字段仅接受唯一值?

推荐答案

ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);

For MySQL 5.7.4 or later:

ALTER TABLE mytbl ADD UNIQUE (columnName);

从MySQL 5.7.4开始,ALTER TABLE的IGNORE子句将被删除并删除

因此,请确保删除重复的条目,因为忽略关键字不再受支持.

Reference

Mysql相关问答推荐

SQL Store Procedure Throwing [42000][1064]您在EXECUTE stat USING声明上的SQL语法中有错误

如何在MySQL中检索两列的值不同的行

奇怪的MySQL SELECT循环;但不是\G

为什么 MAX 函数通过调用在 group 中生成正确的结果

SQL:如何 Select 每个客户最后购买的产品?

Group_CONCAT CASE 乘法输出

如何对 varchar() 数据值使用聚合窗口函数?

MySQL中的where语句会 destruct 全外连接.

如何 Select 具有最新的 2 个日期字段的行?

如何知道 Select 查询花费了多少时间?

如何根据特定条件从mysql数据库中 Select 查询

如何在 SQL 中的一行中查找最小值和最大值?

避免重复进入mysql数据库的最佳方法

如何使用 C++ 连接 mySQL 数据库

Ansible 幂等 MySQL 安装 Playbook

org.hibernate.InstantiationException:没有实体的默认构造函数::principal.Cliente

在mysql中增量更新值

如何从两个不同的日期获得年份差异?

判断多个列的一个值

如何通过一个语句描述数据库中的所有表?