programing

after 키워드를 사용하여 테이블을 변경할 때 "Channel number out of range" 오류가 발생함

firstcheck 2022. 10. 18. 21:55
반응형

after 키워드를 사용하여 테이블을 변경할 때 "Channel number out of range" 오류가 발생함

외부 키와 트리거가 있는 MariaDB 테이블이 있습니다.AFTER 키워드를 사용하여 변경하려고 하면 에러가 발생합니다.

이것을 실행하면:

ALTER TABLE `foo` ADD COLUMN baz VARCHAR(190) NULL DEFAULT NULL AFTER `bar`;

다음의 에러가 표시됩니다.

ERROR 1030 (HY000):스토리지 엔진 InnoDB에서 오류 44 "채널 번호가 범위를 벗어남"이 표시됨

하지만 이걸 실행하면:

ALTER TABLE `foo` ADD COLUMN baz VARCHAR(190) NULL DEFAULT NULL;

작동하지만 (역시) 열이 필요한 순서대로 정리되지 않습니다.

제가 필요한 열 순서를 사용하여 이 작업을 수행하는 방법을 알고 계십니까?

업데이트:

아직 문제를 파악하지 못했지만 AFTER 키워드를 사용하여 다른 테이블을 변경해보니 이 한 테이블에서만 문제가 발생하고 다른 테이블은 정상적으로 작동합니다.

오류가 발생한 것은 WSL을 통해 도커 컨테이너에 공유된 Windows 파일시스템 상에서 MariaDB가 실행되고 있었기 때문입니다./mnt/c/Git/my_project).

이 문제를 해결하기 위해 컨테이너 전체를 WSL 파일시스템으로 이동했습니다( ).~/my_projectAFTER 키워드를 지정한ALTER 명령어는 정상적으로 동작했습니다.

언급URL : https://stackoverflow.com/questions/71866377/getting-channel-number-out-of-range-error-when-altering-table-using-after-keyw

반응형