我正在对 Postgres 数据库使用 github.com/bmizerany/pq。我需要选择“todos”表中的所有行,并为每一行检查条件并相应地更新该行。伪代码:
rows, _ := dbConn.Query("SELECT id, condition, task FROM todos")
for rows.Next() {
var Id int
var Condition int
var Task string
rows.Scan(&Id, &Condition, &Task)
if Condition == 0 {
UpdateTask(Id, Task)
}
}
UpdateTask() 函数将发出一条 SQL 更新语句来更新行。
在 SELECT 查询中发布 SQL 更新会锁定数据库吗?这是进行此类更新的正确方法吗?