Open
Description
Regular expression in executemany
RE_INSERT_VALUES = re.compile(
r"\s*((?:INSERT|REPLACE)\b.+\bVALUES?\s*)" +
r"(\(\s*(?:%s|%\(.+\)s)\s*(?:,\s*(?:%s|%\(.+\)s)\s*)*\))" +
r"(\s*(?:ON DUPLICATE.*)?);?\s*\Z",
re.IGNORECASE | re.DOTALL)
doesn't support new introduced in MySQL 8.0.19 alias syntax like
INSERT INTO t1 (a,b,c) VALUES (%s,%s,%s) AS new ON DUPLICATE KEY UPDATE c = new.a+new.b;
while old supported values function syntax is deprecated since 8.0.20 (https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html)
INSERT INTO t1 (a,b,c) VALUES (%s,%s,%s) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);