go - 为什么从数据库中删除一些数据后它没有插入到同一个表中
问题描述
我遇到了一个奇怪的问题,从一个表中删除数据后,无法再次插入表中。
这是一个例子
我正在使用 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()
for DELETE
。
_, err = db.Exec("delete from foo")
if err != nil {
log.Fatal(err)
}
推荐阅读
- r - 如何在多个数据帧上实现多个相同的功能并将输出检索到多个数据帧
- apache-kafka - 我们可以将消息重新发送到多个 Kafka 分区吗
- python - 使用 Python 抓取 ASPX 页面
- mongodb - 如何使用 db.adminCommand("top") 访问 json 部分
- amazon-web-services - 通过用户订阅获得推荐
- python - 复选框检测opencv
- angular - Angular - 动态加载的模块/组件中的更改检测而不使用`ChangeDetectorRef`
- arrays - 在c中对0与字符串“hello world”进行异或运算
- c++ - 是否有可以处理更改哈希/比较/相等方法的 C++ 容器?
- kubernetes - 标签“eksctl.cluster.k8s.io/v1alpha1/cluster-name”有什么用?