Mysql 插入查询失败,错误为重复条目,其中as select查询返回null

Mysql 插入查询失败,错误为重复条目,其中as select查询返回null,mysql,duplicates,Mysql,Duplicates,插入查询失败,错误为“重复条目” 但当我尝试对主键运行SELECT查询时,它不会返回任何行 如果没有行,那么为什么会出现重复条目 描述我的表格 Field Type Null Key Default Extra folderId binary(16) NO PRI referenceId binary(16) NO PRI referenceType String NO 插入查询 Select folderId_2 from Fold

插入查询失败,错误为“重复条目” 但当我尝试对主键运行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';    
此操作失败,错误为“
错误代码:1062.重复项'\xA7\xC0\xF0\xCF\x06\xDDN0\xB7\x9F\xC8bc\x96\xE3\xF7 TestSchema-'用于键'folderId_2'

所以我试着看看是否有任何条目 选择查询

Select * from MyTable 
Where folderId = 'value1' and 
      referenceid = 'value 11';
结果:
“未返回任何行”

我不明白两件事

  • 如果select没有输出,那么复制是如何发生的

  • 重复错误为键“folderId_2”,但列名为“folderId”而不是“folderId_2”

  • 更新:

    我在桌子上搜索索引, 结果是,为名为“folderId_2”的表创建了一个索引

    现在如何避免索引重复

  • 如果select没有输出,那么复制是如何发生的呢。在选择框中,如果列中的值为null,则使用默认值。第二个空行生成重复的值

  • 重复错误显示为键
    folderId_2
    ,但列名为
    folderId
    而不是
    folderId_2
    folderId_2
    是索引的名称。。可能您已经在名为
    folderId_2

    为此,您应该删除unique约束,并在不使用unique子句的情况下重新创建索引


  • 您是否为此表定义了任何触发器?请从MyTable运行query
    Select*,其中folderId='value1'
    exclude
    referenceid='value11'
    yes也尝试过,否rows@peterm:我发现了一个为tble创建的名为“folderId_2”的索引,我不知道现在如何才能通过它,我应该尝试获取索引中的所有键吗?@RyanNghiem:更新了描述