登录
首页 >  Golang >  Go问答

如何删除多个表中的记录

来源:stackoverflow

时间:2024-04-06 11:48:30 379浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《如何删除多个表中的记录》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在创建一个脚本,该脚本旨在将参数传递到 mysql 查询中,然后执行该 mysql 查询以从多个表中删除多条记录。

现在我遇到了一个问题,我需要为每个单独的表创建多个文件。 有没有一种方法可以在一个文件中执行每个 mysql 查询,而不是为每个查询创建多个文件?

这是我创建的代码:

import (
"fmt"
"database/sql"
"os"
)

func DeleteTables() {
   fmt.Println("Test for MySQL")

   db, _ := sql.Open(
       "mysql", "user:password@(localhost:port)/db")

   args := os.Args
   if len(args) < 2 {
       fmt.Println("Supply a ID")
       os.Exit(1)
   }
   id := os.Args[1]
   fmt.Println(id)

   delete, err := db.Query("DELETE * FROM table1 WHERE id = ?;", id)

   if err != nil {
       panic(err.Error())
   }
   defer delete.Close()
}

解决方案


使用 for 循环提交多个表的 delete 语句。如果表名是固定的,请使用如下所示的内容:

for _,table:= range []string{"table1","table2","table3"} {
   _, err := db.Exec(fmt.Sprintf("DELETE * FROM %s WHERE id = ?;",table), id)
   if err != nil {
       panic(err.Error())
   }
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>