Привет, у меня возникла проблема с извлечением всех строк из моей таблицы и их печатью все в одном, а не с извлечением строки и возвратом данных по одной. Есть ли способ собрать все строки в один.
Вот с чем я работаю:
async def r_list(self, ctx):
"""Gets a list of restricted users."""
guild = ctx.message.guild
for member in guild.members:
conn = psycopg2.connect(DATABASE_URL, sslmode='require')
cursor = conn.cursor()
cursor.execute("SELECT time, username FROM blacklist WHERE username=%s AND time IS NOT NULL", (member.id, ))
results = cursor.fetchall()
for row in results:
user_id=row[1]
username = self.bot.get_user(user_id)
timestamp=row[0].strftime("%#d %b %Y, at %I:%M%p")
await ctx.send(f"User: {username} Until: {timestamp}")
cursor.close()
conn.close()
0
Jasme
6 Окт 2020 в 12:55
1 ответ
Лучший ответ
Предложение WHERE
отфильтрует большинство других строк, поэтому, если вам действительно нужны все строки, вы можете использовать
SELECT * FROM blacklist
Это вернет каждый столбец из каждой строки, а не только строки, в которых совпадают идентификаторы. Впоследствии fetchall()
должен помочь.
1
stijndcl
6 Окт 2020 в 11:01
Похожие вопросы
Новые вопросы
python-3.x
НЕ ИСПОЛЬЗУЙТЕ, ЕСЛИ ВАШ ВОПРОС ТОЛЬКО ДЛЯ PYTHON 3. Всегда используйте вместе со стандартным тегом [python].