Будет ли таблица с составными первичными ключами поддерживать групповую репликацию в innodb

У меня есть таблица с двумя столбцами col1, col2, которые являются составными первичными ключами. Будет ли эта таблица поддерживать групповую репликацию в MySQL InnoDB кластеризации?

Сообщение об ошибке:

org.springframework.jdbc.UncategorizedSQLException: сброс Hibernate: не удалось выполнить пакетное обновление JDBC; некатегоризованное исключение SQLException для SQL [/* вставить строку коллекции 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 ответ

У вас ошибка при обновлении, а не при создании таблицы правильно?

вставить в 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

Если транзакция выполняется для таблицы с внешними ключами с каскадными ограничениями, то транзакция не будет зафиксирована при синхронизации с группой.

Вы попали в это ограничение. Я предлагаю попробовать запустить его в режиме Single Primary.

Другие вопросы по тегам