使用Python将数据插入MySQL DB

时间:2017-12-12 08:32:45

标签: python mysql

我想使用python将数据插入Mysql数据库。这是我的代码

def insert_db(time_spent):
global user_id
global total_time_spent
user = user_id
project = get_project_id()
timesingle = time_spent
timeall = total_time_spent
#connect to the database
connect_db = mysql.connector.connect(user='root',password='',host='127.0.0.1',database='python_test')
cursor = connect_db.cursor()
cursor.execute("INSERT INTO time (user_id,project_id,spent_time,total_time) VALUES (%s,%s,%s,%s)",(user,project,timesingle,timeall)) # insert new row to table
if cursor.lastrowid:
    print('last insert id', cursor.lastrowid)
else:
    print('last insert id not found')
#close the cursor and database connection
cursor.close()
connect_db.close()

问题是当我执行这个函数时,即使'last insert row id'显示id,数据也没有插入数据库。我检查了这个函数中的所有变量,它们不是空的。

如何解决此问题

3 个答案:

答案 0 :(得分:0)

每次修改数据库中的数据时,都需要使用。

提交所有更改
connect_db.commit();

这是为了确保您只保存没有发生错误的更改。

答案 1 :(得分:0)

您需要提交以标记成功交易的结束。

connect_db.commit()

有关详情:https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html

答案 2 :(得分:0)

请确保在每次插入/更新或其他此类声明后使用connect_db.commit()