我正在使用Mail带有自动递增 ID 和邮件地址的表。该表用于其他4个表,主要用于保存存储(String只保存一次而不是4次)。我INSERT OR IGNORE习惯于盲目地将邮件地址添加到表中,如果存在则忽略更新。这种方法比检查是否存在SELECT ...并INSERT在需要时执行要快得多。
对于每个INSERT OR IGNORE自动增量,无论是忽略还是完成,自动增量 Id 都会增加。我一跑我有大约。500k 数据集继续。所以每次运行后,最后一个自增键都会增加 500k。我知道有 2^63-1 个可能的键,所以很长时间用完它们。
我也试过INSERT OR REPLACE,但这会在每次运行命令时增加数据集的 Id,所以这根本不是解决方案。
有没有办法防止这种自动增量键的增加INSERT OR IGNORE?
mIdMail mMail
"1" ""
"7" "mail1@example.com"
"15" "mail2@example.com"
"17" "mail3@example.com"
"19" "mail4@example.com"
"23" "mail5@example.com"
...
Run Code Online (Sandbox Code Playgroud)
插入查询(使用 Java Lib:org.apache.commons.dbutils)
INSERT OR IGNORE
INTO MAIL
( mMail )
VALUES ( ? );
Run Code Online (Sandbox Code Playgroud)
表定义
CREATE TABLE IF NOT EXISTS MAIL (
mIdMail INTEGER PRIMARY KEY AUTOINCREMENT,
mMail CHAR(90) UNIQUE
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |