gpt4 book ai didi

java - 防止sqlite中IGNORE INTO语句后id自动递增

转载 作者:行者123 更新时间:2023-11-30 07:40:00 24 4
gpt4 key购买 nike

我发现一些重复的线程讨论使用选项innodb_autoinc_lock_mode=0,但我不知道如何在 SQLite 中执行此操作。

这是我的代码:

ps = conn.prepareStatement("INSERT OR IGNORE INTO users(name, lastname) VALUES(?, ?)");
ps.setString(1, nameField.getText());
ps.setString(2, lastNField.getText());
int res = ps.executeUpdate();

namelastname 设置为唯一键。这按预期工作(如果名称和姓氏已经存在,则不会插入),但每次都会自动递增我的 id 。知道如何通过修复自动增量或更改 sql 代码来解决这个问题吗?我正在用 java 执行此操作。

最佳答案

只需从表定义中删除自动增量即可。

普通的 INTEGER PRIMARAY KEY 列 still is autoincrementing ,但不保留单独的计数器。相反,新行只会获取表中当前最大 ID 之后的下一个 ID。

仅当您想要防止重复使用已删除行中的 ID 时,AUTOINCRMENT 才有用。

关于java - 防止sqlite中IGNORE INTO语句后id自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34828929/

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