i have simple question: using mysql , python. want refill table first deleting it's content , subsequently inserting new data. however, don't want have empty table (or @ least very short moment) during process.
so, far remember can combine several sql commands , commit them database. ensured works described me. i'm wondering if guess correct?
conn = mysql.connector.connect( **configuration.conn_params ) c = conn.cursor() sql = """delete mytable;""" c.execute( sql ) sql = """insert mytable ( col1, col2, col3 ) values ( val1, val2, val3);""" c.execute( sql ) conn.commit() #run deletion , insertion of table data "simultaneously" conn.close()
provided that:
mytableuses transactional storage engine (e.g. innodb); andyou not override default (false) value of
autocommitconnection argument
then, perspective of other database session, 2 operations performed atomically (as one): there no instant in see intermediate state in database (i.e. records have been deleted, new ones have not yet been inserted).
Comments
Post a Comment