From d16c3ca83c76c9fecc6272fd8380e816d6cc62a1 Mon Sep 17 00:00:00 2001 From: loshiqi <553578653@qq.com> Date: Wed, 16 Jul 2025 15:21:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E9=AB=98=E6=96=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chain.go | 7 +++++++ db.go | 9 +++++++++ prepare.go | 4 ++++ transaction.go | 6 ++++++ transaction_chain.go | 7 +++++++ 5 files changed, 33 insertions(+) diff --git a/chain.go b/chain.go index af8106a..6603dcb 100644 --- a/chain.go +++ b/chain.go @@ -231,6 +231,7 @@ func (this *Query) GetTableInfo(table string) (map[string]interface{}, error) { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmtSql, err := this.conn.Prepare(sql) if err != nil { @@ -441,6 +442,7 @@ func (this *Query) BuildSelectSql() (map[string]interface{}, error) { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } return map[string]interface{}{ "sql": sql, @@ -515,6 +517,7 @@ func (this *Query) UpdateStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.conn.Prepare(sql) @@ -642,6 +645,7 @@ func (this *Query) UpdateAllStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.conn.Prepare(sql) @@ -736,6 +740,7 @@ func (this *Query) CreateAllStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) sql = helper.StringJoin(sql, " RETURNING id") } stmt, err = this.conn.Prepare(sql) @@ -800,6 +805,7 @@ func (this *Query) CreateStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.conn.Prepare(sql) @@ -851,6 +857,7 @@ func (this *Query) DeleteStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.conn.Prepare(sql) diff --git a/db.go b/db.go index 3d596e4..67af863 100644 --- a/db.go +++ b/db.go @@ -49,6 +49,7 @@ func Insert(dbName, table string, data map[string]string) (int64, error) { Sql = "insert into " + dbName + " (" + strings.Join(keyList, ",") + ") values (" + strings.Join(keyStr, ",") + ")" if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) Sql = helper.StringJoin(Sql, " RETURNING id") stmt, err = DB.Prepare(Sql) if err != nil { @@ -130,6 +131,7 @@ func Update(dbName, table string, data map[string]string, where map[string]strin Sql = "update " + dbName + " set " + strings.Join(keyList, " , ") + " where " + strings.Join(whereStr, " and ") if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } result, err := DB.Exec(Sql, valueList...) @@ -192,6 +194,7 @@ func Delete(dbName, table string, data map[string]string, del_count ...string) ( Sql = "delete from " + dbName + " where " + strings.Join(keyList, " and ") + limitStr if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } result, err := DB.Exec(Sql, valueList...) @@ -274,6 +277,7 @@ func GetData(dbName, table string, title string, where map[string]string, limit Sql = "SELECT " + title + " FROM " + dbName + " where " + strings.Join(keyList, " and ") + " " + limitStr if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } rows, err = DB.Query(Sql, valueList...) @@ -464,6 +468,7 @@ func GetRow(dbName, table_name, alias string, titles string, with, join [][]stri for queryNum < 2 { //如发生错误,继续查询2次,防止数据库连接断开问题 if DB_PROVIDER == "PgsqlDb" { sql_str = sqlx.Rebind(sqlx.DOLLAR, sql_str) + sql_str = strings.Replace(sql_str, "`", `"`, -1) } rows, err = db.Query(sql_str, valueList...) @@ -672,6 +677,7 @@ func FetchRows(dbName, table_name, alias string, titles string, with, join [][]s for queryNum < 2 { //如发生错误,继续查询2次,防止数据库连接断开问题 if DB_PROVIDER == "PgsqlDb" { sql_str = sqlx.Rebind(sqlx.DOLLAR, sql_str) + sql_str = strings.Replace(sql_str, "`", `"`, -1) } rows, err = db.Query(sql_str, valueList...) @@ -820,6 +826,7 @@ func GetList(dbName, table string, title string, where map[string]string, limit Sql = "select " + title + " from " + dbName + " where " + strings.Join(whereStr, " and ") + " " + limitStr if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } rows, err = DB.Query(Sql, valueList...) @@ -989,6 +996,7 @@ func GetCount(dbName, table string, where map[string]string, args ...string) (to Sql = "select count(" + title + ") as count from " + dbName + " where " + strings.Join(whereStr, " and ") + " limit 1" if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } rows, err = DB.Query(Sql, valueList...) @@ -1051,6 +1059,7 @@ func DoQuery(args ...interface{}) ([]map[string]string, error) { if len(args) > 1 { if DB_PROVIDER == "PgsqlDb" { queryStr = sqlx.Rebind(sqlx.DOLLAR, queryStr) + queryStr = strings.Replace(queryStr, "`", `"`, -1) } rows, err = DB.Query(queryStr, args[1:]...) //strings.Join(args[1:], ",") if err != nil { diff --git a/prepare.go b/prepare.go index 6194066..028c5ab 100644 --- a/prepare.go +++ b/prepare.go @@ -60,6 +60,7 @@ func StmtForRead(dbName, table string, title string, where []string, limit map[s Sql = "SELECT " + title + " FROM " + dbName + " where " + strings.Join(where, " and ") + limitStr if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } stmt, err = DB.Prepare(Sql) } else { @@ -199,6 +200,7 @@ func StmtForUpdate(dbName, table string, data []string, where []string) (*sql.St Sql = "update " + dbName + " set " + strings.Join(data, " , ") + " where " + strings.Join(where, " and ") if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } stmt, err = DB.Prepare(Sql) @@ -261,6 +263,7 @@ func StmtForInsert(dbName, table string, data []string) (*sql.Stmt, error) { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } //stmt, err = DB.Prepare("insert into " + dbName + " set " + strings.Join(data, " , ")) @@ -404,6 +407,7 @@ func StmtForQuery(querysql string) (*sql.Stmt, error) { var err error if DB_PROVIDER == "PgsqlDb" { querysql = sqlx.Rebind(sqlx.DOLLAR, querysql) + querysql = strings.Replace(querysql, "`", `"`, -1) } stmt, err = DB.Prepare(querysql) diff --git a/transaction.go b/transaction.go index bd6cd01..0228d97 100644 --- a/transaction.go +++ b/transaction.go @@ -49,6 +49,7 @@ func TxInsert(tx *sql.Tx, dbname, table string, data map[string]string) (int64, var Sql string Sql = "insert into " + dbName + " (" + strings.Join(keyList, ",") + ") value(" + strings.Join(keyStr, ",") + ")" Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) Sql = helper.StringJoin(Sql, " RETURNING id") stmt, err = tx.Prepare(Sql) if err != nil { @@ -116,6 +117,7 @@ func TxPreInsert(tx *sql.Tx, dbname, table string, data map[string]interface{}) if DB_PROVIDER == "PgsqlDb" { Sql := helper.StringJoin("insert into ", dbName, " ("+strings.Join(insert_data, " , ")+")", " VALUES ", "("+strings.Join(value_data, " , ")+")", " RETURNING id") Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) stmt, err = tx.Prepare(Sql) if err != nil { return 0, errors.New("创建失败:" + err.Error()) @@ -202,6 +204,7 @@ func TxUpdate(tx *sql.Tx, dbname, table string, data map[string]string, where ma Sql = "update " + dbName + " set " + strings.Join(keyList, " , ") + " where " + strings.Join(whereStr, " and ") if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } result, err := tx.Exec(Sql, valueList...) @@ -243,6 +246,7 @@ func TxPreUpdate(tx *sql.Tx, dbname, table string, data []string, where []string sql := "update " + dbName + " set " + strings.Join(data, " , ") + " where " + strings.Join(where, " and ") if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = tx.Prepare(sql) @@ -309,6 +313,7 @@ func TxDelete(tx *sql.Tx, dbname, table string, where map[string]string, del_cou Sql = "delete from " + dbName + " where " + strings.Join(keyList, " and ") + limitStr if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } result, err := tx.Exec(Sql, valueList...) @@ -350,6 +355,7 @@ func TxForRead(tx *sql.Tx, dbName, table string, title string, where []string) ( Sql = "SELECT " + title + " FROM " + dbName + " where " + strings.Join(where, " and ") + " FOR UPDATE" if DB_PROVIDER == "PgsqlDb" { Sql = sqlx.Rebind(sqlx.DOLLAR, Sql) + Sql = strings.Replace(Sql, "`", `"`, -1) } stmt, err = tx.Prepare(Sql) } else { diff --git a/transaction_chain.go b/transaction_chain.go index 03b51ae..8e3fc1f 100644 --- a/transaction_chain.go +++ b/transaction_chain.go @@ -356,6 +356,7 @@ func (this *TxQuery) BuildSelectSql() (map[string]interface{}, error) { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } return map[string]interface{}{ "sql": sql, @@ -376,6 +377,7 @@ func (this *TxQuery) GetTableInfo(table string) (map[string]interface{}, error) sql := "select `" + strings.Join(field, "`,`") + "` from information_schema.COLUMNS where table_name = ? and table_schema = ?" if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmtSql, err := this.tx.Prepare(sql) if err != nil { @@ -484,6 +486,7 @@ func (this *TxQuery) UpdateStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.tx.Prepare(sql) @@ -607,6 +610,7 @@ func (this *TxQuery) UpdateAllStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.tx.Prepare(sql) @@ -668,6 +672,7 @@ func (this *TxQuery) CreateStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.tx.Prepare(sql) @@ -762,6 +767,7 @@ func (this *TxQuery) CreateAllStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) sql = helper.StringJoin(sql, " RETURNING id") } stmt, err = this.tx.Prepare(sql) @@ -811,6 +817,7 @@ func (this *TxQuery) DeleteStmt() error { } if DB_PROVIDER == "PgsqlDb" { sql = sqlx.Rebind(sqlx.DOLLAR, sql) + sql = strings.Replace(sql, "`", `"`, -1) } stmt, err = this.tx.Prepare(sql)