Как вставить данные из переменных в таблицу?

Нужно вставить данные из переменных в таблицу.

# insert data
enter_name = input()
enter_password = input()
enter_email = input()
with connection.cursor() as cursor:
    cursor.execute("insert into users (name, password, email) VALUES (enter_name, enter_password, enter_email)")
    connection.commit()
    print("Insert Table successfully")

Но так сделать нельзя, выводиться ошибка :

1054, "Unknown column 'enter_name' in 'field list'"

Я пробовал сделать так:

cursor.execute("insert into `users` (name, password, email) VALUES (?,?,?)",
    (enter_name, enter_password, enter_email))

Но снова выводилась ошибка:

Error
not all arguments converted during string formatting


Ответы (1 шт):

Автор решения: MaxU

К сожалению в Python не существует единого стандарта для paramstyle и placeholders отличаются для разных БД. Для PyMySQL нужно использовать %s вместо ?.

cursor.execute("insert into users (name, password, email) VALUES (%s,%s,%s)",
               (enter_name, enter_password, enter_email))
→ Ссылка