From b7e5729c2597df268da40e07dd0df794044b48b0 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 21 Jan 2019 22:34:36 +0800 Subject: [PATCH] fix bug --- session_insert.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/session_insert.go b/session_insert.go index 13dfc4d7..47faf28f 100644 --- a/session_insert.go +++ b/session_insert.go @@ -660,6 +660,10 @@ func (session *Session) genInsertColumns(bean interface{}) ([]string, []interfac } func (session *Session) insertMapInterface(m map[string]interface{}) (int64, error) { + if len(m) == 0 { + return 0, ErrParamsType + } + var columns = make([]string, 0, len(m)) for k := range m { columns = append(columns, k) @@ -674,7 +678,7 @@ func (session *Session) insertMapInterface(m map[string]interface{}) (int64, err return 0, ErrTableNotFound } - var sql = "INSERT INTO `" + tableName + "` (`" + strings.Join(columns, "`,`") + "`) VALUES " + qm + var sql = fmt.Sprintf("INSERT INTO %s (`%s`) VALUES %s", tableName, strings.Join(columns, "`,`"), qm) var args = make([]interface{}, 0, len(m)) for _, colName := range columns { args = append(args, m[colName]) @@ -696,6 +700,10 @@ func (session *Session) insertMapInterface(m map[string]interface{}) (int64, err } func (session *Session) insertMapString(m map[string]string) (int64, error) { + if len(m) == 0 { + return 0, ErrParamsType + } + var columns = make([]string, 0, len(m)) for k := range m { columns = append(columns, k) @@ -710,7 +718,7 @@ func (session *Session) insertMapString(m map[string]string) (int64, error) { return 0, ErrTableNotFound } - var sql = "INSERT INTO `" + tableName + "` (`" + strings.Join(columns, "`,`") + "`) VALUES " + qm + var sql = fmt.Sprintf("INSERT INTO %s (`%s`) VALUES %s", tableName, strings.Join(columns, "`,`"), qm) var args = make([]interface{}, 0, len(m)) for _, colName := range columns { args = append(args, m[colName])