Будет ли таблица с составными первичными ключами поддерживать групповую репликацию в 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) значения (?,?)
Я предполагаю, что вы работаете со своей группой в основном режиме и как указано здесь:
Если транзакция выполняется для таблицы с внешними ключами с каскадными ограничениями, то транзакция не будет зафиксирована при синхронизации с группой.
Вы попали в это ограничение. Я предлагаю попробовать запустить его в режиме Single Primary.