开发者

Problem with inserting into MySQL database from Python

开发者 https://www.devze.com 2023-03-07 11:22 出处:网络
I am having trouble inserting a record into a MySQL database from python. This is what I am doing. def testMain2():

I am having trouble inserting a record into a MySQL database from python. This is what I am doing.

def testMain2():
        conn = MySQLdb.connect(charset='utf8', host="localhost", user="root", passwd="root", db="epf")
        cursor = conn.cursor()

        tableName = "test_table"

        columnsDef = "(export_date BIGINT, storefront_id INT, genre_id INT, album_id INT, album_rank INT)"
        exStr = """CREATE TABLE %s %s""" % (tableName, columnsDef)
        cursor.execute(exStr)

        #Escape the record
        values = ["1305104402172", "12", "34", "56", "78"]                    
        values = [conn.literal(aField) for aField in values]开发者_StackOverflow中文版

        stringList = "(%s)" % (", ".join(values))
        columns = "(export_date, storefront_id, genre_id, album_id, album_rank)"
        insertStmt = """INSERT INTO %s %s VALUES %s""" % (tableName, columns, stringList)
        cursor.execute(insertStmt)

        cursor.close()
        conn.close()

The table is created however nothing is in the table. I can run the INSERT statement successfully in Terminal with the same credentials.

Any suggestions on what I may be doing wrong?


You haven't committed the transaction.

conn.commit()

(The MySQLdb library sets autocommit to False when connecting to MySQL. This means that you need to manually call commit or your changes will never make it into the database.)

0

精彩评论

暂无评论...
验证码 换一张
取 消