From 5cc9005f537a2b114f95fac39069cea84a3a392d Mon Sep 17 00:00:00 2001 From: loshiqi <553578653@qq.com> Date: Wed, 24 Dec 2025 14:05:37 +0800 Subject: [PATCH] =?UTF-8?q?GetTableInfo=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chain.go | 9 ++++++--- transaction_chain.go | 8 ++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/chain.go b/chain.go index 187f0f4..35371a1 100644 --- a/chain.go +++ b/chain.go @@ -240,7 +240,7 @@ func (this *Query) GetTableInfo(table string) (map[string]interface{}, error) { "COLUMN_COMMENT", //备注 "IS_NULLABLE", //是否为空 } - sql := "select `" + strings.Join(field, "`,`") + "` from information_schema.COLUMNS where table_name = ?" + sql := "select `" + strings.Join(field, "`,`") + "` from information_schema.COLUMNS where table_name = ? and table_schema = ?" if DB_PROVIDER == "PgsqlDb" { //pgsql中,未加引号的标识符会被自动转换为小写 @@ -287,8 +287,11 @@ func (this *Query) GetTableInfo(table string) (map[string]interface{}, error) { if err != nil { return nil, err } - - list, err := StmtForQueryList(stmtSql, []interface{}{table}) + valuelist := []interface{}{table} + if DB_PROVIDER == "" { + valuelist = []interface{}{table, this.dbname} + } + list, err := StmtForQueryList(stmtSql, valuelist) if err != nil { return nil, err } diff --git a/transaction_chain.go b/transaction_chain.go index f4b0ff4..0170fd0 100644 --- a/transaction_chain.go +++ b/transaction_chain.go @@ -383,7 +383,7 @@ func (this *TxQuery) GetTableInfo(table string) (map[string]interface{}, error) "COLUMN_COMMENT", //备注 "IS_NULLABLE", //是否为空 } - sql := "select `" + strings.Join(field, "`,`") + "` from information_schema.COLUMNS where table_name = ?" + sql := "select `" + strings.Join(field, "`,`") + "` from information_schema.COLUMNS where table_name = ? and table_schema = ?" if DB_PROVIDER == "PgsqlDb" { //pgsql中,未加引号的标识符会被自动转换为小写 @@ -426,7 +426,11 @@ func (this *TxQuery) GetTableInfo(table string) (map[string]interface{}, error) if err != nil { return nil, err } - list, err := StmtForQueryList(stmtSql, []interface{}{table}) + valuelist := []interface{}{table} + if DB_PROVIDER == "" { + valuelist = []interface{}{table, this.dbname} + } + list, err := StmtForQueryList(stmtSql, valuelist) if err != nil { return nil, err }