用python在多表中插入数据

2024-05-23 22:39:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在mysql中插入2个表中的一些信息,但我只插入了1个表(而不是2个表)。 我的程序如下所示:

import MySQLdb
[...]
def injectInSQLmodel1(self, data):
        # Open database connection
        db = MySQLdb.connect("localhost","root","root","whois_test" )

        # prepare a cursor object using cursor() method
        cursor = db.cursor()

        # about
        sql1 = "INSERT INTO about(domain, registrar, expiryDate, created, lastUpdate) " \
               "VALUES ('%s', '%s', '%s', '%s', '%s' )" % \
               (data['domain'], data['registrar'], data['expiryDate'], data['created'], data['lastUpdate'])

        #administrativeContact
        sql2 = "INSERT INTO administrativecontact(administrativeContactType, administrativeContactName, " \
               "administrativeContactStreet1, administrativeContactStreet2, administrativeContactStreet3, " \
               "administrativeContactCountry, administrativeContactTelephone, domain) " \
               "VALUES ('%s', '%s', '%s', '%s', '%s','%s', '%s', '%s')" % \
               (data['administrativeContactType'], data['administrativeContactName'],
                data['administrativeContactStreet1'], data['administrativeContactStreet2'],
                data['administrativeContactStreet3'],data['administrativeContactCountry'],
                data['administrativeContactTelephone'], data['domain'])

        try:
            # Execute the SQL command
            cursor.executemany(sql1, sql2)
            # Commit your changes in the database
            db.commit()
        except:
            # Rollback in case there is any error
            db.rollback()
        finally:
            cursor.close()
            db.close()

如何修复?你知道吗

提前谢谢。你知道吗


Tags: dbdatadomainrootcursordatabaseaboutinsert