生成随机且唯一的数字并插入数据库

紫色猫头鹰

我的目标是生成随机数并将其插入数据库。我不想重复。我已经完成了研究,其中之一是先检查数据库,然后再插入。

//GENEREATE RANDOM NUMBER
long number = (long) Math.floor(Math.random() * 900000L) + 900000L;


//CHECK IF NUMBER IS ALREADY EXIST IN DATABASE
String searchQuery = "select appleId from food where appleId='" + number + "'";
         try {
             Statement stmt = connection.createStatement();
             ResultSet rs = stmt.executeQuery(searchQuery);
             boolean appleIdExists = rs.next();

//IT IS UNIQUE  

if (!appleIdExists) {

            try {
                //INSERT STATEMENT
                       .......
            } catch (SQLException e) {
                e.printStackTrace();
            }
                }

//IT IS NOT UNIQUE..
                else
                {
                       .....

                }

                }catch (Exception ex) {
                    System.out
                    .println("Log In failed: An Exception has occurred! "
                            + ex);
        }

所以我的问题是,如果它不是唯一的,我需要生成另一个数字并再次检查吗?并一次又一次地检查,直到它是唯一的?结果是否为if-else语句?

我不确定使用if-else语句是否有效。还是有另一种方式?

有什么建议吗?

帮助将不胜感激!:)

戴维·S。

为什么不使用数据库中的自动递增标识列,从而使数据库为您创建唯一的ID?每个现代的DBMS都支持此功能。

对于MySQL

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
)

对于PostgreSQL:

CREATE TABLE animals
(
    id             serial primary key,
    name        VARCHAR(40) not null
);

所有数据库都具有此功能,并且当您使用JDBC插入行时,会在响应中找回插入行的键。一个简化的例子:

String query = "INSERT INTO animals (name) VALUES ('zebra')";
Integer insertedId = stmt.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何使用node.js检查SQL数据库是否生成的随机数是唯一的?

如何生成不以0开头且具有唯一数字的随机4位数字?

如何在Laravel中为每个用户生成唯一的随机值并将其添加到数据库

如何在数据库中插入唯一数据/处理重复数据

Firebase实时数据库从控制台生成唯一ID

如何在python中生成随机但唯一的数字?

Wordpress-使用原子操作生成随机唯一编号并更新数据库

在猫鼬数据库中生成唯一的随机数而无需重复?

想要将具有唯一值的多维数组值插入php数据库

有没有一种方法可以检查数据库中是否存在随机生成的数字?C#

使用Java,Hibernate将唯一行插入数据库表

插入前的数据库索引检查与唯一索引

将唯一代码插入数据库的更好方法

在任何记录插入中生成SQL Server数据库唯一编号

使用javascript生成唯一的随机字母数字

随机插入数据库

在数据库中插入列表元素时创建MySQL唯一ID

我需要一个想法如何从数据库中获得唯一的随机行

批量插入数据库唯一代码

获取插入数据库表时记录所获得的唯一ID

Java程序生成唯一且随机的六个字母数字代码

生成唯一的随机数以存储在数据库中

如何生成优惠券代码,检查数据库是否唯一,如果不唯一,则生成新的代码

为故障代码生成随机但唯一的字母数字ID

Firebase 数据库 - 如果每个值都有一个随机生成的密钥,我如何在推送到数据库之前确保值的唯一性

为数据库生成随机 ID

如何在 Firebase 实时数据库中保存生成的唯一 ID

带有“生成(随机字符)”然后“完成(插入到数据库)”的 HTML 表单

生成数百个随机唯一优惠券代码并插入数据库