此主題已被涵蓋。如果是這樣,爲此道歉。從數據庫中獲取行(使用「for」和「while」循環)並從控制檯執行腳本時遇到問題。Py:從數據庫提取並從控制檯執行腳本時限制
我需要從數據庫中獲取大量的行,我正在構建一個腳本,以便我可以插入用戶標識,並且我將獲取客戶端和狀態的帳戶標識。 我已經意識到,當我從Eclipse運行腳本時,完整的輸出從DB中獲取。當我從控制檯運行腳本時,行數有限制。所以,我想知道如果我有一個「while行不是無」循環...爲什麼我的行變成無如果數據庫中有更多的行?
另外:我需要解決這個問題。不管怎樣。我寧願不將完整列表加載到本地文件(如果可能)。但是,如果沒有其他方式......好吧,請幫助!這是我的例子。
#!/usr/bin/env python3
# encoding: utf-8
import configparser
import pymysql
from prettytable import PrettyTable
conn = pymysql.connect(host=host, user=user, passwd=password, db=database)
print()
userid = input('Insert User ID(s) > ') # userid is a list of 2000 users in comma-separated format
userids = userid.replace(" ", "").replace("'", "").replace(",", "','")
cur = conn.cursor()
cur.execute(""" SELECT user_ID, account_ID, status FROM Account WHERE user_ID IN ('%s'); """ % userids)
rows = cur.fetchall()
table = PrettyTable(["user_ID", "account_ID", "status"])
table.padding_width = 1
for line in rows:
user_ID = str(line[0])
account_ID = str(line[1])
status = str(line[2])
table.add_row([user_ID, account_ID, status])
print()
print(table)
conn.close()
print()
print()
exit()