登录
首页 >  Golang >  Go问答

Gorm模糊查询表名的使用指南

来源:stackoverflow

时间:2024-02-13 20:06:24 149浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Gorm模糊查询表名的使用指南》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我用mysql模糊查询表名的语句:

show tables like 'message_%'

没问题,返回“message_1”。 但是,使用 gorm import github.com/jinzhu/gorm

...
var result = make([]interface{}, 0)
err := db.DB.Raw("SHOW TABLES LIKE 'message_%'").Scan(&result)
fmt.Println("data:", result, "err:", err)
...

terminal log:
[2022-02-28 18:08:13]  [1.72ms]   SHOW TABLES LIKE 'message_%'  
[1 rows affected or returned ]
data: [] err: 

结果为零,或者我需要使用什么结构来接收?


正确答案


您可以利用 information_schema.tables

result := []string{}
err := models.db.
    raw(
        "select table_name from information_schema.`tables` where table_name like ? and table_schema like ?",
        "message_%",
        "your database name here",
    ).
    scan(&result).
    error

结果将是这样的:

[]string{
    "message_a",
    "message_b",
    "message_c",
    ...
}

关于 information_schema.tables

参见:The INFORMATION_SCHEMA TABLES Table - MySQL Manual

好了,本文到此结束,带大家了解了《Gorm模糊查询表名的使用指南》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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