recherche

Maison  >  Questions et réponses  >  le corps du texte

problème python2.7 mysqlexecute()

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.

怪我咯怪我咯2805 Il y a quelques jours835

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-05-18 10:54:05

    Finalement, j'ai abandonné l'utilisation d'executemany().

    INSERT INTO employees (first_name, hire_date)
    VALUES ('Jane', '2005-02-12'), ('Joe', '2006-05-23'), ('John', '2010-10-03')

    Utilisez simplement le formulaire ci-dessus et exécutez().
    https://dev.mysql.com/doc/con...

    répondre
    0
  • Annulerrépondre