diff --git a/named.go b/named.go index f9d14ba..58bedd5 100644 --- a/named.go +++ b/named.go @@ -224,7 +224,7 @@ func bindStruct(bindType int, query string, arg interface{}, m *reflectx.Mapper) return bound, arglist, nil } -var valuesReg = regexp.MustCompile(`(?i)VALUES\s*\(`) +var valuesReg = regexp.MustCompile(`\)\s*(?i)VALUES\s*\(`) func findMatchingClosingBracketIndex(s string) int { count := 0 diff --git a/named_test.go b/named_test.go index 1037de4..9ff03b3 100644 --- a/named_test.go +++ b/named_test.go @@ -385,6 +385,12 @@ func TestFixBounds(t *testing.T) { expect: `INSERT INTO foo (a, b) VALUES (:a, YEAR(NOW())`, loop: 2, }, + { + name: `table with "values" at the end`, + query: `INSERT INTO table_values (a, b) VALUES (:a, :b)`, + expect: `INSERT INTO table_values (a, b) VALUES (:a, :b),(:a, :b)`, + loop: 2, + }, } for _, tc := range table {