저는 MySQL 8.0을 사용하고 있으며 열에 URL을 저장하려고 합니다. 191자를 초과하는 URL을 삽입하려고 할 때마다 다음 오류가 발생합니다.
으아악열 데이터 유형은 VARCHAR(1000)이고 URL은 약 450자입니다. 다른 문자열과 191자 미만의 모든 항목을 삽입해 보았으며 191자 미만의 문자열은 모두 잘 작동하지만 191자를 초과하는 문자열은 삽입할 수 없습니다.
이 열의 데이터 유형을 TEXT, LONGTEXT 및 BLOB와 같은 다른 문자열 형식으로 변경해 보았습니다. 다른 테이블에서도 191자보다 긴 문자열을 삽입해 보았는데 역시 191자로 제한되었습니다.
utf8mb4의 결과가 실제로는 191인 VARCHAR(255)라는 것을 알고 있지만 이를 VARCHAR(1000)으로 재정의하면 안 되나요? 이 문제를 일으킬 수 있는 설정이 데이터베이스에 있습니까?
여기에서 가져온 내용:
으아아아따라서 URL에
TEXT
형식을 사용하는 것이 좋습니다.업데이트:
이 답변에 따르면 문제는 문자 집합에
utf8
时,它是utf8mb4
이 필요할 때 동일하게 정렬되는 것입니다.