如何检查我的INSERT查询无效的原因?

时间:2012-03-17 02:36:45

标签: python mysql database mysql-python

conn = MySQLdb.connect(host=IP,user='john',passwd='ab2nng',db='mydb')
cursor = conn.cursor()

#this works.
cursor.execute("select * from crawl_log")
res = cursor.fetchall()
print res

#this doesn't work.
cursor.execute("insert into crawl_log(k, v) values(%s, %s)", ('test','test'))

我怎么知道它为什么不起作用?没有错误打印,没有。

2 个答案:

答案 0 :(得分:0)

这样的问题的典型原因是行/表/数据库名称的拼写错误

请仔细检查,这总是我弄乱的主要问题

另一个原因是行/表/数据库名称可能太短,以解决此问题 在名称周围加上'' 例如,key是'key'

希望这可以解决您的问题

答案 1 :(得分:0)

默认情况下,它将启动一个事务,该事务需要在影响数据更改的任何语句之后提交。插入后你试过conn.commit()吗?