首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动生成ID java上键‘主’mySQL的重复条目'SP-10‘

自动生成ID java上键‘主’mySQL的重复条目'SP-10‘
EN

Stack Overflow用户
提问于 2022-11-29 21:55:28
回答 1查看 20关注 0票数 1

我正在使用java生成用户I(用于表)。当我按降序排序时,它是这样的。:

我使用以下代码获取下一个用户ID:

代码语言:javascript
复制
String tempStID = studentBO.getLastID();
if (tempStID.equalsIgnoreCase("")) {
            lblStID.setText("SS-" + 1);
        } else {
            String[] array = tempStID.split("-");
            int tempNumber = Integer.parseInt(array[1]);
            int finalizeOrderId = tempNumber + 1;
            lblStID.setText("SS-" + finalizeOrderId);
        }

当这段代码获得SS-9作为最后一个ID时,它会为下一个ID生成SS-10,但是由于它已经在那里,它给了我重复的输入错误。

有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-29 22:01:14

不建议在主键中使用"SP-“。将推荐一个自动递增的任意id。参见这些文档:https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html

示例:

代码语言:javascript
复制
CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT,
    pID VARCHAR(20),
    ... -- other columns
    PRIMARY KEY (id)
);

创建新用户时,可以将pID更新为"SP-“+ generated_id。

MySQL中的表保持插入顺序。如果可以保证第一次插入后不会更新pID,则仍然可以通过选择未排序表的最后一个元素获得正确的lastId。不要排序,因为它是按字母排序,而不是数字排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74620643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档