"행 크기가 너무 큼(> 8126)" 오류 메시지는 MySQL 테이블의 행이 기본 8KB 제한. 테이블 열에 사용된 데이터 유형을 포함하여 여러 요인이 이 문제에 영향을 미칩니다.
한 가지 가능한 해결책은 일부 열을 TEXT 또는 BLOB 데이터 유형으로 변경하는 것입니다. 이러한 유형은 더 많은 양의 데이터를 수용할 수 있기 때문입니다. 또한 ROW_FORMAT=DYNAMIC 또는 ROW_FORMAT=COMPRESSED를 사용하면 데이터를 더 효율적인 방식으로 저장하여 행 크기를 줄이는 데 도움이 될 수 있습니다.
그러나 제공된 오류 메시지는 이러한 수정에도 불구하고 행 크기가 여전히 너무 크다. 이는 InnoDB 스토리지 엔진이 행 내에서 BLOB 데이터의 처음 768바이트를 인라인으로 저장하여 행 크기를 더욱 제한하기 때문입니다.
이 문제를 해결하려면 다음 솔루션 구현을 고려하십시오.
바라쿠다 파일로 전환 형식:
my.cnf에 다음을 추가합니다. 파일:
innodb_file_per_table=1
- This file format removes the issue of storing BLOB data inline, allowing larger rows to be accommodated.
사용 ROW_FORMAT=COMPRESSED:
다음 쿼리를 실행하여 테이블을 변경합니다. 구조:
ALTER TABLE table_name ENGINE=InnoDB ROW_FORMAT=COMPRESSED
- This setting reduces the row size by compressing non-key columns, potentially resolving the issue.
위 해결 방법으로도 문제가 해결되지 않으면 다음을 고려하세요. my.cnf에 다음 줄을 추가하여 임시 데이터를 저장하기 위해 일시적으로 MyISAM 엔진으로 전환합니다. 파일:
internal_tmp_disk_storage_engine=MyISAM
위 내용은 MySQL의 '행 크기가 너무 큼' 오류를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!