gpt4 book ai didi

mysql - 如何从 Go struct 生成 MySQL 表

转载 作者:IT王子 更新时间:2023-10-29 01:03:57 27 4
gpt4 key购买 nike

我正在使用 Go 创建一个 CRUD 程序,我有一个包含 70 多个字段的相当大的结构,我想将它们添加到 MySQL 数据库中。

我想知道是否有一种方法可以自动将结构映射到我的数据库中,这样我就不必手动创建表,它只会复制我的结构?

最佳答案

我还没有找到一种完全自动化该过程的方法,但至少您可以使用标签和少量代码来创建它们。

解决方法示例:

在野外有一些github项目,可以帮助你实现这一点。

例如structable

您必须向您的结构成员添加标签。

来自github的例子:

type Stool struct {
Id int `stbl:"id, PRIMARY_KEY, AUTO_INCREMENT"`
Legs int `stbl:"number_of_legs"`
Material string `stbl:"material"`
Ignored string // will not be stored. No tag.
}

当你有那个部分时,你可以像下面的例子一样创建表(也来自 github 页面)

stool := new(Stool)
stool.Material = "Wood"
db := getDb() // Get a sql.Db. You're on the hook to do this part.

// Create a new structable.Recorder and tell it to
// bind the given struct as a row in the given table.
r := structable.New(db, "mysql").Bind("test_table", stool)

// This will insert the stool into the test_table.
err := r.Insert()

关于mysql - 如何从 Go struct 生成 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958364/

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