0
における真=マルチI持ってのpython mysql.connectorで次のクエリ:使用cursor.execute(クエリ)mysql.connector Pythonの
:query="SELECT `AUTO_INCREMENT`FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'cl55-mm-px-db' AND TABLE_NAME = 'dj_Venues';"
cursor.execute(query)
autoV=str(cursor.fetchone())
autoV=autoV.replace('(','').replace(')','').replace(',','')
query="REPLACE INTO dj_Venues SET venueName = %s,venueAddress = %s,venueBands = %s,venueResident = %s,city=%s,country=%s;'"
variable=(venue,address,venueID,venueID1,city,country1)
cursor.execute(query,variable)
query="SELECT `AUTO_INCREMENT`FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'cl55-mm-px-db' AND TABLE_NAME = 'dj_Events';"
cursor.execute(query)
autoE=str(cursor.fetchone())
autoE=autoE.replace('(','').replace(')','').replace(',','')
query="REPLACE INTO dj_Events SET eventName = %s,bandsintownID = %s,residentID=%s,date = %s,startTime=%s,sourceBands=%s,sourceResident=%s;'"
variable=(eventName,eventID,eventID1,date,start,source,source)
cursor.execute(query,variable)
query="REPLACE INTO dj_Master SET artistID = %s,eventID = %s,venueID = %s;'"
variable=(artistID,autoE,autoV)
cursor.execute(query,variable)
そして私は、私は次のエラーを取得するこのスクリプトを実行すると
"Use multi=True when executing multiple statements")
mysql.connector.errors.InterfaceError: Use multi=True when executing multiple statements
cursor.execute()
にmulti=True
を追加しましたが、クエリが実行されないため、私のテーブルが空のままです!
代わりに、ステートメントの最後からセミコロンを削除してください。なぜなら、これらのエラーメッセージが表示される理由です。副作用として、私はこのライブラリがPython DB API仕様を無視し、 'cursor.executemany()'を使用するのではなく、 'execute'に' multi = True'を追加して失望しました。 –
Thanks @MartijnPieters、あなた答えは私を助けた! –