当前位置: 首页 > 面试题库 >

MySQL-使现有字段唯一

何禄
2023-03-14
问题内容

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

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


问题答案:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);

对于MySQL 5.7.4或更高版本:

ALTER TABLE mytbl ADD UNIQUE (columnName);

从MySQL 5.7.4开始,ALTER TABLE的IGNORE子句被删除,使用它会产生错误。

因此,请确保先删除重复的条目,因为不再支持IGNORE关键字。

参考



 类似资料:
  • 问题内容: 我有两个表->变量(id,名称)和Variable_Entries(id,var_id,值)。 我希望每个变量都具有唯一的一组条目。如果我使值条目唯一,那么其他变量将无法具有相同的值,这是不正确的。 有什么办法可以使相同的var_id的value列唯一? 问题答案: 是的: 现在,您对var_id和value有了唯一的约束。换句话说,var_id和value的出现不能出现多次。

  • 问题内容: 我的表中有一个字段,我需要快速搜索它。我需要索引吗? 对唯一字段和索引字段的搜索在速度或资源使用方面是否有所不同? 问题答案: 不 ,您不必再次为其编制索引。指定时,将为该列建立索引。因此,它与 相同类型的 其他索引列(例如PRIMARY KEY)在性能上没有区别。 但是,如果类型不同,则性能差异很小。

  • 我正在编写一个方法,将一条记录插入或更新到mysql表中,只有当字段“sample_time”大于表中当前记录的这个值时,才会进行更新。下面是我现在想做的事情。 但是我不知道如何通过记录的唯一键来选择,而不考虑确切的字段名称或字段编号。所以我的问题是: 我如何实现“按记录的唯一键选择,而不考虑确切的字段名称或字段编号” 或者,我如何在jooq中使用条件为重复更新的条件 提前感谢您的帮助!

  • 问题内容: 我需要一个Java实现,它忽略类中字段的顺序。首先,节点可以是第二个节点,第二个可以是节点优先。 这是我的方法取决于顺序: 有没有一种方法可以计算出以下边缘相同但唯一的哈希值? 应该是。 问题答案: 您可以使用某种交换运算来代替现在的运算,例如加法: 我建议您仍然使用乘数,因为它为哈希码提供了一些熵。在这里查看我的回答: 遵循一些良好的哈希规则是: 混淆您的运营商。通过混合您的运算符,

  • 问题内容: 例如,我正在查询一个我知道会是唯一且已编入索引(例如主键)的字段。因此,我知道此查询将仅返回1行(即使没有LIMIT 1) 或仅更新1行 如果对字段建立索引,是否会增加查询执行时间? 问题答案: 在主键/唯一字段上查询时,使用MySQL“ LIMIT 1”有什么意义吗? 在针对主键或唯一约束的筛选条件进行查询时,最好不要使用这种做法。主键或唯一约束意味着表中只有一行/记录具有该值,因此

  • 问题内容: 我想将所有记录上的代码更新为当前的代码,再加上_standard任何想法? 因此,例如,如果代码是apple_1和apple_2,则我需要将它们设置为apple_1_standard和apple_2_standard 前: 伪查询: 预期结果: 问题答案: 您需要在MySQL中使用该函数进行字符串连接: