具有复合主键的表是否支持innodb中的组复制

时间:2019-02-14 06:08:20

标签: mysql innodb mysql-group-replication

我有一个表,其中有两列col1,col2,它们是复合主键。该表是否支持MySQL InnoDB集群中的组复制?

错误消息:

  

org.springframework.jdbc.UncategorizedSQLException:休眠   刷新:无法执行JDBC批处理更新;未分类   SQL [/ *插入集合行的SQLException   com.domain.BatchClass.documentTypes * /插入   batch_class_document_type(batch_class_id,document_type_id)的值   (?,?)]; SQL状态[HY000];错误代码[3098];该表不   符合外部插件的要求;嵌套异常   是

显示创建表:

CREATE TABLE `batch_class_document_type` (
    `batch_class_id` bigint(20) NOT NULL, 
    `document_type_id` bigint(20) NOT NULL, 
    PRIMARY KEY (`batch_class_id`,`document_type_id`), 
    KEY `FKB72AFCD2997AC796` (`document_type_id`), 
    KEY `FKB72AFCD2C473EFCA` (`batch_class_id`), 
    CONSTRAINT `FKB72AFCD2997AC796` FOREIGN KEY (`document_type_id`)
                 REFERENCES `document_type` (`id`), 
    CONSTRAINT `FKB72AFCD2C473EFCA` FOREIGN KEY (`batch_class_id`)
                 REFERENCES `batch_class` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 个答案:

答案 0 :(得分:0)

更新时出错,而不是在创建表时出错?

  

插入batch_class_document_type(batch_class_id,document_type_id)值(?,?)

我的猜测是您正在以多主模式运行组,如下所示:

https://dev.mysql.com/doc/refman/5.7/en/group-replication-deploying-in-multi-primary-or-single-primary-mode.html

  

如果对具有级联约束的外键的表执行事务,那么在与组同步时该事务将无法提交。

您正在达到此限制。我的建议是尝试在“单主要”模式下运行它。