diff options
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r-- | lib/sqlalchemy/sql/elements.py | 8 |
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)) |