두 개의 서버가 모두 동일한 코드를 사용합니다. 그들 중 하나에서 테이블에 대한 심문은 부울 true/false에 대해 t/f를 반환하고 다른 것에는 0/1을 반환합니다. 왜 이런 일이 일어나는 지 아십니까? 아마 yii 설정이나 서버 설정일까요?부울 값이 PostgreSQL과 다른 형식으로 반환되었습니다.
0
A
답변
0
첫 번째 일부 배경.
많은 RDBMS는 bool 유형을 지원하지 않으므로 사람들은이 용도로 매우 작은 int 필드를 사용합니다. PostgreSQL는 true
, false
또는 null
(또는 알 수 없음)의 세 가지 값을 갖는 bool 유형을 지원합니다.
두 서버 모두 PostgreSQL이라는 질문에 100 % 명확하지 않습니다. 하나가 PostgreSQL이고 다른 하나가 PostgreSQL이라면, 이런 종류의 동작을 기대할 것이므로 이것이 주목할 첫 번째 것이다. 그러나 둘 다 PostgreSQL이라하더라도 db 디자이너가 smallints 또는 bits를 사용하는 한 세트의 테이블을 디자인 한 다음 나중에 bool로 변경하는 것은 전례가 없습니다.
두 시스템이 모두 PostgreSQL 인 경우 psql에서이 문제를 일으킬 수있는 유일한 방법은 다른 테이블 디자인입니다. \d tablename
을보고 bool을 사용하도록 설정되어 있고 다른 설정이 비트 또는 정수 유형을 사용하도록 설정되어 있는지 확인하십시오.
관련 문제
- 1. MainWindow의 값이 childWindow에서 반환되었습니다.
- 2. 부울 값이
- 3. 열거 형 값이 숫자로 반환되었습니다.
- 4. 중복 값이 조인과 함께 반환되었습니다.
- 5. NXC의 파일에서 음의 값이 반환되었습니다.
- 6. 레지스터에 ptrace 비정상 값이 반환되었습니다.
- 7. 부울 값이 false
- 8. SWT - 열 값이 부울
- 9. 부울 값이 정의 되었습니까?
- 10. 부울 값이 변경되면 알겠습니다.
- 11. 부울 값이 필요합니다. isTouched()
- 12. 부울 값이 변경되지 않습니다.
- 13. 집계 부울 값이
- 14. 부울 값이 변경되지 않습니다
- 15. 부울 값이 전달되지 않습니다.
- 16. 부울 값을 html 형식으로 보내야합니다.
- 17. 바인드 h : selectBooleanCheckbox 값이 부울/부울 대신 정수/부울
- 18. 'false'문자열이 유효한 부울 값이 아닙니다.
- 19. aix shell 문제로 인해 값이 반환되었습니다.
- 20. sinatra 본문에서 문자열이 아닌 값이 반환되었습니다.
- 21. PostgreSQL과 락킹
- 22. 왜 부울 값이 전환되지 않습니까?
- 23. Gentoo postgresql과 pdo를 postgresql과 함께 설치하십시오.
- 24. 내 부울 값이 항상 올랐다
- 25. TypeError : 부울 값이 함수가 아닙니다.
- 26. Angular2에서 부울 값이 참인지 검사합니다.
- 27. java eclipse, 부울 값이 잘못되었습니다.
- 28. PostgreSQL과 isnumeric()
- 29. 문자열 키/값이 포함 된 json 데이터에서 부울 값 검색
- 30. 부울 대수를 가장 낮은 형식으로 단순화
데이터베이스 값 표시 및 형식 지정은 SQL * 클라이언트 *에 의해 수행됩니다. 따라서 사용중인 도구의 차이점을 확인해야합니다. –
양쪽 서버에서 psql로 쿼리를 테스트 해 보셨습니까? 결과가 다릅니 까? –
예. 나는 시험을 보았다. 1 개 (살)에는 돌려 주어지는 배열에는 'f'가 포함되어 false는 false를, 한편에는 false를 포함한 null를 포함합니다. true의 경우 첫 번째 서버에는 't'가 포함되고 두 번째 서버에는 1이 포함됩니다. – makeron