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 に関してどれほど活発であるかわかりません。直感的または漠然としたフィードバックをいただければ幸いです。
正解 を coalesce(b_name, '** 注意 **') # に置き換えます。 ## 何が起こるか見てみましょう。
リーリー
受け入れ可能で意味がある場合は、
coalesce(b_name, '')
リーリー
または、
b_name
リーリー
以上がクエリで LEFT 結合を使用して SQLC 生成コードで NULL 列をスキャン中にエラーが発生しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。