2012-12-16 139 views
-1

我正在试图制作一个python脚本,在数据库中为我的videopost表添加视频url和时间。这是我在Python中的第三个脚本。我仍在学习。也请告诉我如何降低这个脚本的执行时间。通过python插入语句MySQL

代码:

#!/usr/bin/python 
    import MySQLdb 
    import sys 

    db = MySQLdb.connect (host = "host.com", user="myusername",passwd="pass", db = "dbname") 

    cursor = db.cursor() 
    db.query("SELECT now()") 
    result = db.use_result() 
    time= str("%s" % \ 
     result.fetch_row()[0]) 
    print time 
    db.close() 
    cursor =db.cursor() 
    vidurl = raw_input("Enter the URL to the video:") 
    print vidurl 

    cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, %s)""", (vidurl,time)) 
    db.commit() 
    db.close() 

我在此得到的错误是

File "vidup.py", line 28, in <module> 
    cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, %s)""", (vidurl,time)) 
    File "/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-freebsd-8.2-RELEASE-amd64.egg/MySQLdb/cursors.py", line 155, in execute _mysql_exceptions.InterfaceError: (0, '') 

好感谢您的帮助。对于人们在寻找解决方案我张贴如下修正:

cursor.execute("SELECT now()") 
    result = cursor.fetchall() 
    time= str("%s" % \ 
     result[0]) 
    print time 
    vidurl = raw_input("Enter the URL to the video:") 
    print vidurl 

回答

1

您关闭连接,然后试图抓住光标:

db.close() 
cursor =db.cursor() 

取下第一线,一切都应该工作。

+0

它发出指令同步误差 完整的报告:'蟒蛇vidup.py 2012年12月16日11时08分38秒 异常_mysql_exceptions。 ProgrammingError:<绑定方法Cursor .__ del__ (忽略同步;您现在无法执行此命令)>>忽略 输入视频的URL:http ://youtube.com http://youtube.com' – Bhavyanshu

+0

感谢您的帮助。我已经根据您的答案和我自己的小小调整来编辑我的问题。 :) – Bhavyanshu

1

为什么你不使用:

cursor.execute ("""INSERT INTO videopost(vidurl, time) VALUES (%s, NOW())""", (vidurl,)) 
+0

我想在开始时显示时间。所以这就是我使用它的原因。然后我开始将这个时间值传递给一个变量。 非常感谢。我仍然在学习python。 – Bhavyanshu