簡體   English   中英

為什么我不能循環和刪除數據庫?

[英]Why can't I loop through and drop databases?

有一種情況,我想通過 go 並刪除數據庫名稱中具有特定文本的所有數據庫。 它總是刪除一個數據庫,然后什么也不做。 我怎樣才能解決這個問題?

def connect():
    mydb = mysql.connector.connect(
        host="localhost",
        user="root",
        password=""
    )
    return mydb


    mydb = connect()

    mycursor = mydb.cursor(buffered=True)

    mycursor.execute("SHOW DATABASES")

    for x in mycursor:
        if ("_tenant_billing" in str(x[0]).lower()):
            print(x[0])
            db = x[0]
            mycursor.execute("DROP DATABASE " + db)
            mydb.commit()

發布為答案。

執行 fetchall() 然后迭代

databases = mycursor.execute("SHOW DATABASES").fetchall()

for database in databases:
    # your stuff

請執行下面的代碼並觀察返回了多少行。

def connect(): mydb = mysql.connector.connect(host="localhost", user="root", password="") 返回 mydb

mydb = connect()

mycursor = mydb.cursor(buffered=True)

mycursor.execute("SHOW DATABASES")

for x in mycursor:
    if ("_tenant_billing" in str(x[0]).lower()):
        print(x[0])
        db = x[0]
       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM