문제

나는 컨텐츠를 블로브로 보유하는 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을 잘라냅니다. 제 경우에는 유럽 문자가 많기 때문에 옵션이 아닙니다. 내가 한 일은 다음과 같습니다.

  1. 텍스트로 온도 필드를 만듭니다
  2. Blob 필드를 임시 필드에 복사하십시오. 업데이트 tble set col_temp = convert (col을 사용하여 latin1); 이 경우 내 Blob은 Latin1 인코딩 숯을 잡았습니다
  3. 실제 필드를 텍스트 데이터 유형으로 변환합니다
  4. 온도를 실제 필드로 복사하십시오
  5. 온도 열을 제거하십시오

정확히 간단하지는 않지만 효과가 있었고 데이터 손실이 없습니다. 버전을 사용하고 있습니다 : '5.1.50-Community'

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