Разбиение на части символов %s при методе join
def insert_mysql(table: str, column_values: dict):
columns = ', '.join(column_values.keys())
values = tuple(column_values.values())
placeholders = ", ".join("%s" * len(column_values.keys()))
sql = (f"INSERT INTO {table} ({columns}) VALUES ({placeholders})")
return (sql, values)
Получаю на выходе:
INSERT INTO `users` (name, age) VALUES (%, s, %, s)
А должен:
INSERT INTO `users` (name, age) VALUES (%s, %s)
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
placeholders = ", ".join("%s" * len(column_values.keys()))
placeholders = ", ".join(["%s"] * len(column_values.keys()))
print(", ".join("%s" * 2))
print(", ".join(["%s"] * 2))
%, s, %, s
%s, %s