Python MySQLDB插入变量作为参数

时间:2013-08-27 12:26:41

标签: python mysql mysql-python

我正在使用Python-MySQLdB库。

我正在尝试从python脚本连接到MySQL数据库。我有一个要求,当用户自动注册他们的帐户时,应该将详细信息添加/保存到MySQL DB。  我试图使用python自动执行此功能。

脚本运行成功,值不会反映在数据库中。可能是什么问题?

这是剧本。

import sys
import MySQLdb as mdb
import datetime
username ='trail'
password='trial'
companyname="trialuser"
imei = '0'
tval = 'T'
try:
    con = mdb.connect('localhost', 'root', 'test', 'collect');
    cur = con.cursor()
    currdate = d = datetime.date.today() + datetime.timedelta(days=30)  
    cur.execute("""
INSERT INTO user (companyName,user,pass,imei, checkPoint,licenceDate) VALUES (%s,%s,%s,%s,%s,%s) """,(companyname,username, password,imei,tval,currdate))
    print 'Succesfully Inserted the values to DB !' 
except mdb.Error, e:
    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)   
finally:    
    if con:    
       con.close()

1 个答案:

答案 0 :(得分:3)

我明白了!

我错过了commit()功能。我们必须在事务之后调用commit以将更改保存到DB:

con.commit()