如何使字段等于当前表中某些用户行的数量?



我正在开发一个电报机器人。所以我有三个表在我的数据库:

  1. Users—存储用户信息。字段说明:
    user:存储用户的电报id。它需要为用户分配一个记录
    名,姓等
  2. Notes -存储用户的笔记。fields:
    user:表Users中字段user相关的外键。
    id:记录id
    注释文本、创建日期等
  3. 记录-存储用户的提醒。它类似于表Notes。fields:
    user:表Users中字段user相关的外键。
    id:记录id
    记录文本、日期等

的事情是,当你要求机器人显示你的记录(从笔记或记录),它发送给你一个消息与文本:&;send me/del{id}删除此记录&;,其中id是记录的id。问题是这样的:如果表中有50行,有人开始使用我的bot,当他创建第一条记录时,bot给他发送一条消息"发送我/del51删除这条记录"。

所以这是我的问题:是否有可能使记录的id等于当前表中用户记录的数量?

我需要这样的东西:

<表类> 用户 文本创建idtbody><<tr>1234qwerty15.12.202211234qwerty117.12.202221234qwerty218.12.202231234qwerty318.12.20224456xyzr116.12.20221456xyzr217.12.20222456xyzr318.12.20223456xyzr419.12.20224

我的解决方案是:

  1. count表
  2. 中当前有多少用户行
  3. 添加一个所以这是id
def get_records(table: str, user_id: int) -> list:
cursor.execute(f'SELECT * FROM {table} WHERE user = {user_id}')
records = cursor.fetchall()
return records
def generate_id(table: str, user_id: int) -> int:
records = get_records(table, user_id)
return len(records) + 1

最新更新