0

我有一个包含两列 col1、col2 的表,它们是复合主键。请问,该表支持 MySQL InnoDB 集群中的组复制吗?

错误信息:

org.springframework.jdbc.UncategorizedSQLException:休眠刷新:无法执行 JDBC 批量更新;uncategorized SQLException for SQL [/* insert collection row com.domain.BatchClass.documentTypes */ insert into batch_class_document_type (batch_class_id, document_type_id) values (?, ?)]; 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
4

1 回答 1

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

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

你正在达到这个限制。我的建议是尝试在单主模式下运行它。

于 2019-02-20T23:38:22.023 回答