MySQL Blob to Text (데이터 및 데이터 유형)
문제
나는 컨텐츠를 블로브로 보유하는 MySQL 데이터베이스를 가지고 있습니다. 어떤 이유로 든 개발자가 블로브를 사용하기로 선택한 이유는 내 통제를 벗어났습니다. 데이터를 텍스트로 변환하고 데이터 유형을 텍스트로 변환 할 수 있습니까?
해결책
Alter Table 명령을 사용해 보셨습니까?
alter table mytable change mycolumn mycolumn text;
~에서 http://forums.mysql.com/read.php?103,164923,167648#msg-167648 캐스트를 사용할 수있는 것 같습니다.
새 (텍스트) 열을 작성한 다음 업데이트 명령으로 작성할 수 있습니다.
update mytable set myNewColumn = CAST(myOldColumn AS CHAR(10000) CHARACTER SET utf8)
다른 팁
필드를 Blob에서 Text로 변환하면 모든 문자> 127을 잘라냅니다. 제 경우에는 유럽 문자가 많기 때문에 옵션이 아닙니다. 내가 한 일은 다음과 같습니다.
- 텍스트로 온도 필드를 만듭니다
- Blob 필드를 임시 필드에 복사하십시오. 업데이트 tble set col_temp = convert (col을 사용하여 latin1); 이 경우 내 Blob은 Latin1 인코딩 숯을 잡았습니다
- 실제 필드를 텍스트 데이터 유형으로 변환합니다
- 온도를 실제 필드로 복사하십시오
- 온도 열을 제거하십시오
정확히 간단하지는 않지만 효과가 있었고 데이터 손실이 없습니다. 버전을 사용하고 있습니다 : '5.1.50-Community'
제휴하지 않습니다 StackOverflow