015-Go 数据库操作注意事项

时间:2022-12-18 20:55:57

1、Query、Exec
(1)Exec(update、insert、delete等无结果集返回的操作)调用完后会自动释放连接;
(2)Query(返回sql.Rows)则不会释放连接,调用完后仍然占有连接,它将连接的所属权转移给了sql.Rows,所以需要手动调用close归还连接。

2、sql.Open()是取出对应的db,这时数据库还没有建立连接,只是初始化了一个sql.DB结构。Open时是没有建立数据库连接的,只有等用的时候才会实际建立连接。