如何在现有SQLite3表中新增Total_interaction列计算互动总量
方案1:新增普通物理列,手动写入计算值
适合所有SQLite版本,后续数据更新需要手动维护该列值。
在你现有的数据库连接代码后追加如下代码即可:
# 1. 新增Total_interaction列,注意将tweets替换为你实际的表名 cur.execute("ALTER TABLE tweets ADD COLUMN Total_interaction INTEGER") # 2. 批量计算并更新所有行的互动总量 cur.execute("UPDATE tweets SET Total_interaction = Retweet_count + Fav_count") # 3. 提交修改并关闭连接 conn.commit() cur.close() conn.close()
方案2:新增自动计算的生成列(推荐)
SQLite 3.31.0及以上版本支持生成列,新增后后续插入、修改数据时会自动计算该列值,无需手动维护,代码如下:
# 注意将tweets替换为你实际的表名 cur.execute(""" ALTER TABLE tweets ADD COLUMN Total_interaction INTEGER GENERATED ALWAYS AS (Retweet_count + Fav_count) STORED """) conn.commit() cur.close() conn.close()
执行完任意一种方案后查询表数据,即可得到你预期的输出结果。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

