【发布时间】:2010-05-13 11:37:05
【问题描述】:
我想删除 mysql 数据库中的所有记录,但列表中的记录 ID 除外。该列表的长度可能会有所不同,并且很容易包含 2000 多个 id,...
目前我将我的列表转换为字符串,以便它适合这样的内容: cursor.execute("""从表中删除 id 不在 (%s)""",(list)) 这感觉不对,我不知道列表允许有多长,....
从 python 中最有效的方法是什么?
用一个额外的字段来改变表的结构来标记/取消标记要删除的记录会很好,但不是一个选择。 拥有一个存储 id 的专用表确实会有所帮助,然后这可以通过 sql 查询来完成......但如果可能的话,我真的很想避免这些选项。
谢谢,
【问题讨论】:
-
查看这个关于最大列表长度的问题:stackoverflow.com/questions/855191/…
-
我认为更相关的限制将在 MySQL 方面,在
NOT IN参数字符串中。