@Soft_touch_plastic

Почему автоинкремент увеличивается но новые строчки в таблице не появляются?

Здравствуйте, я пользуюсь библиотекой mysql в python, совершаю обычный коннект. При попытке выполнить SELECT запрос все работает, но когда я выполняю INSERT запрос, автоинкремент таблицы увеличивается, но новые элементы в таблице не появляются.
Структура таблицы:
6040f7d136d4c504526250.png

Метод, который отлично работает с SELECT запросами:
def query(self, db, query, values=False):
        if values:
            cursor = db.cursor(prepared=True)
            cursor.execute(query, values)
        else:
            cursor = db.cursor()
            cursor.execute(query)
        result = []
        for data in cursor:
            result.append(data)
        return result

result2 = self.query(db, 'INSERT INTO admins (user_id, password) VALUES (%s, %s)', [id, new_password])
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@galaxy
db.commit() надо делать
А автоикремент атомарный - растет даже если транзакция откатывается
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Текстовые значения в запросе должны браться в кавычки.
Автоинкремент резервирует следующее значение перед каждой попыткой выполнить INSERT. Если попытка не удалась, то зарезервированное значение не возвращается и в списке значений автоинкрементного поля появляется лакуна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы