Postgresql 부울을 MySQL Tinyint로 변환하는 방법?
Aug 21 2020
모든 데이터가 포함 된 PostgreSQL 테이블을 MySQL로 마이그레이션하려고하는데 두 개의 열로 인해 마이그레이션 할 수 없습니다. 이러한 열은 Postgresql 테이블에 부울로 있고이 열의 값은 TRUE 또는 FALSE (문자열처럼 보임)입니다. MySQL에서 부울 열을 만들었지 만 TRUE / FALSE 데이터를 받아들이지 않습니다. 이러한 TRUE / FALSE 값에 대해 부울 대신 무엇을 사용해야합니까? tinyint (4) 시도했지만 작동하지 않습니다 (t / f 또는 1/0이 아닌 TRUE 또는 FALSE이므로 데이터를 마이그레이션해야합니다).
예 :
Postgresqltable( id bigserial not null, message_listening boolean, ....... )
Example record: (1, TRUE, .......)
답변
1 kmoser Aug 21 2020 at 14:10
파일을 VARCHAR(255)
. 그런 다음 네이티브 MySQL로 변환하려는 각 열에 대해 다음을 수행하십시오 TINYINT(1)
.
test
유형의 다른 열 (예 :) 만들기TINYINT(1)
- 명령 실행
UPDATE tbl SET test = IF( bool_col = 'TRUE', 1, 0 )
,bool_col
부울 문자열을 포함 당신은 PostgreSQL을 마이그레이션 열이입니다 bool_col
열 삭제test
열 이름 을bool_col
(또는 원하는대로)
변환하려는 각 열에 대해 위의 단계를 반복하십시오.