gpt4 book ai didi

python - 一旦行数大于 N,就删除 MySQL 表的前 X 行

转载 作者:行者123 更新时间:2023-11-30 01:30:30 25 4
gpt4 key购买 nike

我在 MySQL 中有一个名为 word 的仅插入表。一旦行数超过 1000000,我想删除表的前 100000 行。

我在python中使用mysqldb,所以我有一个全局变量:

wordcount = cursor.execute("select * from word")

将返回python环境中表中的行数。然后,每次插入新行时,我都会将字数增加 1。然后我检查行数是否大于 1000000,如果是,我想删除前 100000 行:

if wordcount > 1000000:
cursor.execute("delete from word limit 100000")

我从这个帖子中得到了这个想法: Delete first X lines of a database

但是,这个 SQL 结束了删除我的整个表,我在这里错过了什么?

谢谢。

最佳答案

我认为这不是获取行数的正确方法。您需要将语句更改为具有 count(*) ,然后使用 MySQL 的cursor.fetchone() 来获取结果的元组,其中第一个位置(有点像 wordcount =cursor .fetchone()[0]) 将具有正确的行数。

您的删除语句看起来正确,也许您有显式事务?在这种情况下,您必须在删除后对数据库对象调用 commit()

关于python - 一旦行数大于 N,就删除 MySQL 表的前 X 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com