当前位置: 首页 > 知识库问答 >
问题:

如何从多个表中删除记录

耿俊彦
2023-03-14

我正在创建一个脚本,用于将一个参数传入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个答案

巫马阳飙
2023-03-14

使用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())
   }
}
 类似资料:
  • 问题内容: 我试图一次从几个表中删除。我做了一些研究,并提出了 但是,我收到此错误 未捕获的Database_Exception [1064]:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’p,pa … 附近使用… 我以前从未做过跨表删除操作,所以我现在还没有经验,并且一直坚持下去! 我究竟做错了什么? 问题答案: 在语句中使用a 。 另外,您可以使用…

  • 问题内容: 我正在尝试使用SQL从连接在一起的多个表中删除多行。 表A连接到表B表B连接到表C 我想删除表B和C中与表A中的一行相对应的所有行 问题答案: 好吧,如果您使用过InnoDB表,则可以使用外键设置级联删除,这将自动完成所有操作。但是,如果您出于某种原因使用MyISAM,则只需使用多表DELETE即可:

  • 问题内容: 考虑2个或更多表: 我希望删除所有与名字“ Sam ”匹配的 用户 及其 订单 。在mysql中,我通常会做左连接。在此示例中,我们不知道userid。 查询的正确格式是什么? 问题答案: http://www.postgresql.org/docs/current/static/sql- delete.html 您也可以使用 http://www.postgresql.org/doc

  • 问题内容: 这是正确的方法吗? 问题答案: 对,那是正确的。在这里工作正常: 如果对您不起作用,则可以修改此示例以显示您遇到的问题。

  • 问题内容: 删除unt_uid为null的活动 这将是最快的方法,但是在该语句完成之前没有人可以访问数据库/表,因此这是不可行的。 我定义了一个游标以在工作时间内完成此任务,但无论如何对生产率的影响很大。那么如何删除这些记录,以保证该数据库的正常使用? 它是32位Win2003上的SQL-2005 Server。第二个问题是:您估计这项工作要完成多长时间(6个小时或60个小时)?(是的,我知道这取

  • 本文向大家介绍从表中删除记录,其中相关面试题,主要包含被问及从表中删除记录,其中时的应答技巧和注意事项,需要的朋友参考一下 尝试首先选择最大组,然后将其用作子查询。 编辑: