방금 PostgreSQL의 테이블을 다음과 같이 NULLABLE로 수정했습니다.
으아악a.b_id > b.id에는 외래 키 제약 조건이 있습니다.
이 테이블을 조인하고 다음과 유사한 b.name을 반환하는 쿼리가 많이 있습니다.
으아악때문에 LEFT JOIN
,查询 b_name
的返回类型可以是 NULL
。 a.b_id
中任何为 NULL
的行都将为 b_name 返回 NULL
. 관찰하다.
실제로 쿼리는 WHERE 절에 여러 개의 null 허용 매개 변수를 보내는 훨씬 더 복잡하지만 직관적으로는 그것이 문제라고 생각하지 않습니다. 확실히 SQLC는 쿼리의 SELECT 부분에서 행 구조를 구성합니다...?
SQLC는 다음과 유사한 행 구조를 생성합니다.
으아악BName은 null을 허용해야 하지만(구성에서 다양한 gobuffalo null 재정의를 사용함) 구조체에 없으므로 스캔 오류가 발생합니다.
으아악이 작업은 일반적인 작업임에 틀림없기 때문에 문서에 분명한 내용이 누락된 것이 분명합니다. 지금까지 상당히 복잡한 INNER JOIN 테이블 쿼리나 null 허용 열 반환 유형이 있는 SQLC를 사용하는 데 아무런 문제가 없었습니다.
SO 커뮤니티가 SQLC에 대해 얼마나 활발한지 잘 모르겠습니다. 직관적이거나 모호한 피드백에 감사드립니다.
제안 - 어떤 일이 일어날지 알아보려면 쿼리에 b_name
替换为 coalesce(b_name, '** Attention **')
를 입력하세요.
또는 허용 가능하고 의미가 있는 경우 coalesce(b_name, '')
로 바꾸세요.
또는 필터링b_name
하여 null 결과
위 내용은 쿼리에서 LEFT 조인을 사용하여 SQLC 생성 코드에서 NULL 열을 검색하는 중 오류가 발생했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!