diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9bf418000..74c8165d5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@
### Bug修复#
* 【core 】 修复原始类型转换时,转换失败没有抛出异常的问题
* 【core 】 修复BeanUtil.mapToBean中bean的class非空构造无法实例化问题
+* 【core 】 修复NamedSql多个连续变量出现替换问题
-------------------------------------------------------------------------------------------------------------
diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/NamedSql.java b/hutool-db/src/main/java/cn/hutool/db/sql/NamedSql.java
index 5899c29e5..09480669d 100644
--- a/hutool-db/src/main/java/cn/hutool/db/sql/NamedSql.java
+++ b/hutool-db/src/main/java/cn/hutool/db/sql/NamedSql.java
@@ -1,6 +1,8 @@
package cn.hutool.db.sql;
+import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrBuilder;
+import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import java.util.LinkedList;
@@ -12,8 +14,8 @@ import java.util.Map;
* 支持的占位符格式为:
*
* 1、:name
- * 2、?name
- * 3、@name
+ * 2、@name
+ * 3、?name
*
*
* @author looly
@@ -21,6 +23,8 @@ import java.util.Map;
*/
public class NamedSql {
+ private static final char[] NAME_START_CHARS = {':', '@', '?'};
+
private String sql;
private final List