postgresql 이 Varchar 형식 필드 를 Int 형식 으로 잘못 보고 한 문 제 를 해결 합 니 다.

1235 단어 postgreSqlVarcharInt
프로젝트 는 postgresql 데이터 베 이 스 를 사용 합 니 다.먼저 라 이브 러 리 의 한 표 의 한 필드 형식 을 Varchar 에서 Int 로 바 꾸 고 디자인 표를 직접 오른쪽 단추 로 누 르 십시오.유형 을 int 로 바 꾸 고 저장 할 때 오 류 를 보고 해 야 합 니 다.오 류 는 다음 과 같 습 니 다.

이 crtuser 필드 는 형식 bigint 로 자동 으로 변환 할 수 없습니다.USING 표현 식 으로 변환 해 야 합 니 다.
이것 은 라 이브 러 리 에서 변경 필드 를 실행 하 는 형식의 sql 입 니 다:

ALTER TABLE auth_client_service ALTER COLUMN crt_user
SET DATA TYPE int8 USING crt_user:: int8,
 ALTER COLUMN crt_user

SET DEFAULT 0;
이로써 유형 수정 에 성공 했다.
추가:PostgreSQL 에서 Integer 형식의 필드 를 Varchar 형식의 필드 로 변환 합 니 다.
rt,직접 pgadmin 으로 는 이 전환 을 할 수 없습니다.
sql 을 실행 하면 할 수 있 습 니 다.USING 표현 식 을 추가 하 는 것 이 관건 입 니 다.이 표현 식 은 이 필드 를 어떻게 초기 화 하 느 냐 는 뜻 입 니 다.
예 를 들 어 다음 예 는 성형 을 varchar(16)형식 으로 바 꿉 니 다.
ALTER TABLE app.app_high_school_score
ALTER COLUMN chinese TYPE character varying(16) USING (chinese::character varying(16));
USING 에서 도 CAST 연산 자 를 사용 할 수 있 습 니 다.예 를 들 어:
USING CAST(column_name AS integer)
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기