Python sqlite3 обновление базы данных
Требуется обновить поступившие данные в базу данных которые были внесены посредством дискорд бота через команду. То есть командой .чс добавить NICK вносится данные, но при отображении .чс список данного ника нет в списке, лишь при перезапуске бота и вызова команды .чс список уже отображается добавленный ник. И как можно обновить нумерацию rowid, так как сейчас при удалении из списка какой-либо ник и последующем выводе нумерация не обновляется.
Код:
from discord.ext.commands import Bot
import sqlite3
global base, cur
base = sqlite3.connect('ЧС.db')
cur = base.cursor()
base.execute('CREATE TABLE IF NOT EXISTS data(name TEXT PRIMARY KEY, id INT)')
base.commit()
@bot.command()
async def чс(ctx, arg=None, arg2=None, arg3=None):
author = ctx.message.author
if arg == None:
embed = discord.Embed(color = 0x000000, description =f'Доступные команды:\n .чс добавить *NICK* *ID*\n .чс убрать *NICK*\n .чс список')
await ctx.send(embed=embed)
elif arg == 'добавить':
try:
cur.execute('INSERT INTO data VALUES(?,?)', (arg2, arg3))
base.commit()
await ctx.send(f'{author.mention} Данный ник успешно добавлен в черный список')
except:
await ctx.send(f'{author.mention} Данный ник или ID уже есть в черном списке')
elif arg == 'убрать':
cur.execute('DELETE FROM data WHERE name == ?', (arg2,))
base.commit()
await ctx.send(f'{author.mention} Данный ник был удален из черного списока')
elif arg == 'список':
s = cur.execute('SELECT *, rowid FROM data')
embed = discord.Embed(color = 0x000000, description ='Черный список: \n')
for r in s:
embed.add_field(name='№', value=r[2])
embed.add_field(name='Имя:', value=r[0])
embed.add_field(name='ID', value=r[1])
await ctx.send(embed=embed)