summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/elements.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r--lib/sqlalchemy/sql/elements.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py
index bc6f51b8c..3caa380ee 100644
--- a/lib/sqlalchemy/sql/elements.py
+++ b/lib/sqlalchemy/sql/elements.py
@@ -1227,7 +1227,13 @@ class BindParameter(roles.InElementRole, ColumnElement):
if unique:
self.key = _anonymous_label(
- "%%(%d %s)s" % (id(self), key or "param")
+ "%%(%d %s)s"
+ % (
+ id(self),
+ re.sub(r"[%\(\) \$]+", "_", key).strip("_")
+ if key is not None
+ else "param",
+ )
)
else:
self.key = key or _anonymous_label("%%(%d param)s" % id(self))