MySQL Python — перед фиксацией, где хранится информация об обновлении?

#python #mysql

Вопрос:

Это вопрос в основном для моего понимания того, как работает система. Я использую mysql.connector для обновления моей базы данных Python.

 import mysql.connector as mariadb

mariadb_connection = mariadb.connect(
    user='testdb', 
    password='testdb',
    database='testdb',
    host='127.0.0.1',
)
cursor = mariadb_connection.cursor()

cursor.execute( "UPDATE testdb SET descr='konijn' WHERE number=14549")

mariadb_connection.commit()
mariadb_connection.close()
 

Перед запуском mariadb_connection.commit() обновление не является официальным, и я не буду видеть обновленные данные в своей базе данных. Мой вопрос: после запуска cursor.execute и перед запуском mariadb_connection.commit() , где хранится информация об обновлении? Оно все еще хранится в оперативной памяти локального компьютера или оно уже где-то в базе данных MySQL, но пока не отображается официально, пока commit не будет запущено?

Ответ №1:

Изменения сохраняются в текущей транзакции на сервере базы данных MariaDB.

db.commit() соответствует инструкции COMMIT SQL.