我遇到了一个奇怪的问题,从一个表中删除数据后无法再次插入到表中。
举个例子
我正在使用 postgres 数据库
_, err = con.Query(`
DELETE FROM loan_aims WHERE _loan = $1;
`, input.ID)
if err != nil {
tx.Rollback()
log.Println(err)
return false, fmt.Errorf("can not delete additional data from loan_aims")
}
stmtAim, err := con.Prepare(`INSERT INTO loan_aims(_loan,_aim) VALUES ($1,$2)`)
if err != nil {
tx.Rollback()
log.Println(err)
return false, fmt.Errorf("can not insert into loan_aims")
}
for i := 0; i < len(aims); i++ {
_, err := stmtAim.Exec(loanID, aims[i])
if err != nil {
tx.Rollback()
return false, fmt.Errorf("can not insert aim 2")
}
}
我已经尝试删除它
_, err = con.Query(`
DELETE FROM loan_aims WHERE _loan = $1;
`, input.ID)
if err != nil {
tx.Rollback()
log.Println(err)
return false, fmt.Errorf("can not delete additional data from loan_aims")
}
它工作得很好
最佳答案
通常,您应该使用 db.Exec()
进行 DELETE
。
_, err = db.Exec("delete from foo")
if err != nil {
log.Fatal(err)
}
关于go - 为什么从数据库中删除一些数据后它没有插入到同一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54604267/