gpt4 book ai didi

go - 如何从多个表中删除记录

转载 作者:行者123 更新时间:2023-12-01 22:21:45 29 4
gpt4 key购买 nike

我正在创建一个脚本,该脚本旨在将参数传递给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())
}
}

关于go - 如何从多个表中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63061695/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com