MySQL 데이터 열에 64kb의 데이터 만 저장되는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/409761

  •  03-07-2019
  •  | 
  •  

문제

MySQL Blob 열에 매우 긴 텍스트 문자열을 삽입하려고하지만 MySQL은 64KB의 데이터 만 저장합니다. 문자열의 길이는 75360 자입니다. PHP와 연결하고 있습니다 mysql_connect().

어떤 아이디어?

얼룩이나 텍스트라면 차이를 만듭니다. 나는 원래 그것을 텍스트로 가지고 있었지만 영향을 미치지 않고 변경했습니다.

도움이 되었습니까?

해결책

그게이에요 최대 크기 Blob 열의. mediumbrob/longblob 또는 mediumtext/longtext를 사용해야합니다.

다른 팁

BLOB MySQL 유형은 최대 65,534 바이트를 저장할 수 있습니다.이 많은 데이터보다 더 많은 것을 저장하려고하면 MySQL이 데이터를 잘라냅니다. MEDIUMBLOB 최대 16,777,213 바이트를 저장할 수 있습니다 LONGBLOB 최대 4,294,967,292 바이트를 저장할 수 있습니다.

엄격한 SQL 모드를 활성화하는 경우 (MySQL 모드) 열 유형에 맞지 않는 데이터를 저장하려고 할 때 오류가 발생합니다.

또한 Blob과 Text 사이에 차이가 있는지 물었습니다.
블로브는 이진 데이터를위한 것입니다. Blob 필드에서 같은 쿼리를 수행하면 사례에 민감합니다.

SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT

SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB

Blob Column은 당 64kb에 불과합니다 문서

대신 중간형 열 유형을 시도하십시오 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top