Не добавляется значение в MySQL таблицу

Рейтинг: 0Ответов: 1Опубликовано: 09.06.2023

Есть такой код:

  import mysql.connector
  from config import host, user, password, database
  mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password",
    database="userlist"
  )

  mycursor = mydb.cursor()

  mycursor.execute("INSERT INTO user (login, password) VALUE ('GG@mail.ru', '123');")
  1. Почему from config import host, user, password, database не работает при mydb = mysql.connector.connect(host=host, user=user, password=password, database=database ) , выдает ошибку: argument 1 must be str or None, not tuple

  2. Почему не работает mycursor.execute("INSERT INTO user (login, password) VALUE ('GG@mail.ru', '123');"), т.е программа проходит без ошибок, но значение в базу и таблицу не заносятся, хотя если сделать прямой SQL запрос, то все работает нормально.

Ответы

▲ 0Принят
  1. Не знаю почему, но починилось само
  2. Значение работало, SQL запрос отправлялся, но не сохранялся перед закрытием, для этого нужно использовать commit(), в моем случае mydb.commit() или сделать авто сохранение mydb.autocommit = True, так же в конце написать mydb.close()