AUTO_INCREMENT 열을 포함하는 복합 키를 사용하여 master-master MySQL MIXED 복제에서 테이블을 만들려고 할 때 마스터에 테이블을 생성하지만 실패했습니다 노예에 그렇게하는 것.MySQL 혼합 복제가 복합 키에 auto_increment를 사용하여 테이블을 생성하지 못했습니다.
여기에 우리가 슬레이브 측에있어 오류는 다음과 같습니다
Error 'Incorrect table definition; there can be only one auto column and it must be defined as a key' on query. Default database: 'total_chamilo'. Query: 'CREATE TABLE `c_attendance_result` ( c_id INT NOT NULL, id int NOT NULL auto_increment, user_id int NOT NULL, attendance_id int NOT NULL, score int NOT NULL DEFAULT 0, PRIMARY KEY (c_id, id) ) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci'
데이터베이스의 MyISAM입니다.
MySQL 버전은 우리가 테이블 같은 서버에서 작업을 동일한 스키마와 일치를 가지고 있지만, 다른 복제 모드 (문) 및/또는에 이전 MySQL을 만들어 5.5.40-0가 + 놀랍게도
을 wheezy1 로그입니다 번역.
는 사람이 ... 그 문 이런 종류의 전체 대형 덤프의 일부이기 때문에 원래 쿼리를 변경하지 않고,
덕분에,
A.이 가능한 경우를이 문제를 해결하는 방법을 알고 있나요
마스터 슬레이브 동기화가 양쪽 모두 default_storage_engine 값으로 설정된 상태에서 데이터베이스가 생성되었습니다. – aligot
default_storage_engine을 무시하는 설정이 많이 있습니다. 나는 지금은 너무 늦었다 고 생각하지만 일반적으로 SHOW CREATE TABLE table_name을 사용하여 어떤 스토리지 엔진이 실제로 슬레이브의 테이블에 사용되는지 확인합니다. –