teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/10/15 07:45

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,1 +1,14 @@
1
- 外してたら申し訳ありませんが、判定の前に`db.Close()`してるからじゃないでしょうか?
1
+ 外してたら申し訳ありませんが、判定の前に`db.Close()`してるからじゃないでしょうか?
2
+
3
+ 追記
4
+ --
5
+ DBへの接続は実際に必要になった場合に行うようです。
6
+ ですので、エラーにはならないのだと思われます。
7
+
8
+ [Go database/sql チュートリアル 03 - データベースへのアクセス](https://golang.shop/post/go-databasesql-03-accessing-ja/)
9
+
10
+ > **sql.Open()はデータベースへの接続を確立しませんし、ドライバの接続パラメータの検証もしません。**
11
+ > その代わりに、後で使用される抽象化されたデータベースの準備をするだけです。
12
+ > 実データストアへの実際のコネクションは、必要になった時に初めて、遅延して確立されるでしょう。
13
+ > **データベースが利用可能でアクセス可能かどうか、すぐに確認したい場合はdb.Ping()を使ってください。**(例えば、ネットワーク接続ができログイン可能かどうかチェックする場合)
14
+ > その際はエラーチェックを忘れないでください。