为了账号安全,请及时绑定邮箱和手机立即绑定

如何从多个表中删除记录

如何从多个表中删除记录

Go
慕妹3242003 2022-06-21 09:51:57
我正在创建一个脚本,该脚本旨在将参数传递给 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()}
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

使用 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())

   }

}


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号