찾다

 >  Q&A  >  본문

MySQL이 열의 데이터 유형 길이를 무시하는 이유는 무엇입니까?

저는 MySQL 8.0을 사용하고 있으며 열에 URL을 저장하려고 합니다. 191자를 초과하는 URL을 삽입하려고 할 때마다 다음 오류가 발생합니다.

으아악

열 데이터 유형은 VARCHAR(1000)이고 URL은 약 450자입니다. 다른 문자열과 191자 미만의 모든 항목을 삽입해 보았으며 191자 미만의 문자열은 모두 잘 작동하지만 191자를 초과하는 문자열은 삽입할 수 없습니다.

이 열의 데이터 유형을 TEXT, LONGTEXT 및 BLOB와 같은 다른 문자열 형식으로 변경해 보았습니다. 다른 테이블에서도 191자보다 긴 문자열을 삽입해 보았는데 역시 191자로 제한되었습니다.

utf8mb4의 결과가 실제로는 191인 VARCHAR(255)라는 것을 알고 있지만 이를 VARCHAR(1000)으로 재정의하면 안 되나요? 이 문제를 일으킬 수 있는 설정이 데이터베이스에 있습니까?

P粉798343415P粉798343415277일 전413

모든 응답(1)나는 대답할 것이다

  • P粉002546490

    P粉0025464902024-03-29 09:53:03

    여기에서 가져온 내용:

    으아아아

    따라서 URL에 TEXT 형식을 사용하는 것이 좋습니다.

    업데이트:

    이 답변에 따르면 문제는 문자 집합에 utf8时,它是utf8mb4이 필요할 때 동일하게 정렬되는 것입니다.

    회신하다
    0
  • 취소회신하다