Partie du code pour insérer des données :
try:
sql = "INSERT INTO {}({}) VALUES(%s)".format(table,cols) % q[0]
print sql
result = self.cur.executemany(sql,q)
#result = self.cur.execute(sql)
insert_id = self.db.insert_id()
self.db.commit()
#判断是否执行成功
if result:
return insert_id
else:
return 0
except MySQLdb.Error,e:
#发生错误时回滚
print "数据库错误,原因%d: %s" % (e.args[0], e.args[1])
self.db.rollback()
Obtenir après avoir exécuté le programme
[(u'""," http://sz.centanet.com/ershoufang/szlg13772053.html"," 345\u4e07|3\u5ba42\u5385|74.89\u5e73"," \u5357|2007\u5e74|\u4f4e\u5c42(\u517134\u5c42)|\u8c6a\u88c5|\u5eb7\u8fbe\u5c14\u82b1\u56ed\u4e94\u671f(\u8774\u8776\u5821)|"',)]
INSERT INTO zydc(follow, house_url, price_area, houseinfo) VALUES(%s)
数据库错误,原因1136: Column count doesn't match value count at row 1
None
Il n'y a eu aucun problème lorsque j'ai saisi manuellement l'instruction d'insertion dans la base de données, mais je ne sais pas pourquoi l'erreur d'exécution s'est produite.
Lorsque j'insère des données dans une table qui ne stocke que des liens, il n'y a aucun problème.
Tout à l'heure, alors que je voulais afficher la cause de l'erreur, j'ai découvert que les données avaient été insérées avec succès. Ensuite, j'ai essayé d'utiliser executemany() et l'erreur s'est reproduite.
Finalement, j'ai abandonné l'utilisation d'executemany().
Utilisez simplement le formulaire ci-dessus et exécutez().
https://dev.mysql.com/doc/con...