插入查询失败,错误为“重复条目”
但当我尝试对主键运行SELECT查询时,它不会返回任何行。
如果不存在行,那么为什么会出现重复条目
描述我的表;

Field   Type    Null    Key Default Extra
folderId    binary(16)  NO  PRI
referenceId binary(16)  NO  PRI
referenceType   String  NO

插入查询
Select folderId_2 from FolderRecordContents limit 5;
INSERT INTO MyTable
SET folderid = 'value1',
    referenceid = 'value 11',
    referenceType = 'value 111';

失败,出现错误“Error Code: 1062. Duplicate entry '\xA7\xC0\xF0\xCF\x06\xDDN0\xB7\x9F\xC8bc\x96\xE3\xF7-TestSchema-' for key 'folderId_2'
所以我试着看看有没有条目
选择查询
Select * from MyTable
Where folderId = 'value1' and
      referenceid = 'value 11';

结果:"No rows returned"
我不懂两件事
一。如果select没有输出,那么这里是如何发生复制的
2。重复应用错误表示键“folderId 2”,但列名为“folderId”而不是“folderId 2”
更新:
我在桌子上找索引,
原来,有一个为名为“folderId\u 2”的表创建的索引
现在如何避免索引重复。

最佳答案

一。如果select没有输出,那么这里是如何发生复制的
在select中,如果列中的值为空,则使用默认值。。第二个空行产生一个重复的valie
2。重复应用错误表示键“folderId 2”,但列名为“folderId”而不是“folderId 2”
folderId_2是索引的名称。。可能对名为folderId的列folderId创建了非唯一约束
对于yhis,您应该删除删除唯一约束并用out unique子句重新创建索引

10-04 20:41