이 제목은 이미 다룰 수 있습니다. 그렇다면, 사과드립니다. 데이터베이스 ("for"및 "while"루프 포함)에서 행을 가져 와서 콘솔에서 스크립트를 실행할 때 문제가 있습니다.Py : 데이터베이스에서 가져 오기 및 콘솔에서 스크립트를 실행할 때 제한
데이터베이스에서 엄청난 양의 행을 가져와야하고 사용자 ID를 삽입 할 수 있도록 스크립트를 작성하므로 클라이언트 및 상태에 대한 계정 ID를 가져옵니다. Eclipse에서 스크립트를 실행하면 DB에서 전체 출력을 가져 오는 것을 깨달았습니다. 콘솔에서 스크립트를 실행할 때 행 제한이 있습니다. 그래서, 나는 "행이 없음"루프가 있는지 알고 싶습니다 ... 왜 내 행이 될 경우 없음 데이터베이스에 더 많은 행이 있습니까 ??
기타 :이 문제를 해결해야합니다. 아무리. 전체 목록을 로컬 파일에로드하는 것을 선호합니다 (가능한 경우). 하지만, 다른 방법이 없다면 ... 좋아, 제발 도와주세요 !! 이것은 나의 본보기이다. 이 같은 prettytable
모듈에서 제공 from_db_cursor()
사용하여 시도 할 수 너무 많은 코드를 수정하지 않고
#!/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()