MySQL 데이터 열에 64kb의 데이터 만 저장되는 이유는 무엇입니까?
문제
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에 불과합니다 문서
대신 중간형 열 유형을 시도하십시오 ...
제휴하지 않습니다 StackOverflow