【发布时间】:2013-05-24 13:52:27
【问题描述】:
我试图了解 MSQL 的 Duplicate Entry 是如何工作的。
我所理解的是保存时
title='aaaaaccccc'
两次并且标题字段是唯一的,您将收到错误:重复条目。
MySQL 是否将长度 = 200 的字符串截断为 64 个字符,然后检查 64 个字符长的字符串是否唯一?
更新:
当我保存 2 条记录(标题)时,MySQL 抱怨在保存第二个标题时违反了唯一约束。第一个标题是相同的,比如说 100 个字符。之后就不同了。无论如何,MySQL 是否会抛出重复键错误。
【问题讨论】:
-
截断有什么意义?它可以相互比较完整的字符串。我不知道确切的算法。
-
您的意思是,如果考虑到整个长度,插入的标题将是唯一的,但是当您尝试保存值时 MySQL 抱怨违反了唯一约束?您能否提供唯一约束的定义?
-
是的,MySQL 在保存第二个标题时抱怨违反了唯一约束。第一个标题是相同的,比如说 100 个字符。之后就不同了。无论如何,MySQL 是否会抛出重复键错误。
标签: mysql