您如何使用 MySQL 和 Go 解決圍繞 's 和 null 值的問(wèn)題LEFT JOIN?例如我有兩個(gè)表order和order_item。所有列都具有該not null屬性。一個(gè)訂單可以有 0 個(gè)或多個(gè) order_items。沒(méi)有任何 order_items 的訂單的簡(jiǎn)單選擇、左連接查詢失敗, Row.Scan()因?yàn)?order_item 列返回為空:SELECT * FROM `order`
LEFT JOIN `order_item` USING (order_id)
WHERE `order`.order_id = '123'我可以看到三個(gè)解決方案,但我認(rèn)為沒(méi)有一個(gè)是真正好的:使用COALESCE/ IFNULL=> 煩人,因?yàn)槲业牟樵冞x擇部分是自動(dòng)生成的。使用 mysql go lib 中的空值 => 這意味著我的 order_item 結(jié)構(gòu)中的每個(gè)值都屬于這些類型。將查詢拆分為 2 => 問(wèn)題,如果我想要一個(gè)包含 50 個(gè)帶有 order_items 的訂單的列表,那將是 51 個(gè)查詢。您還有其他解決方案嗎?
Golang 中的 MySQL 空值
月關(guān)寶盒
2023-06-19 16:06:56