首页 > 解决方案 > 获取复合键的 generatedkey()

问题描述

我有一个小问题,我不知道在 SQL 中创建新实例的过程中如何获取不同的键。

这是我的代码:

ArrayList<Integer> keys = new ArrayList<Integer>();    

PreparedStatement req = laConnexion.prepareStatement("insert into Abonnement 
(id_client,id_revue,date_debut,date_fin) value(?,?,?,?)", Statement.RETURN_GENERATED_KEYS);

            req.setInt(1, a1.getIdCl());
            req.setInt(2, a1.getIdRev());
            req.setDate(3, dateS);
            req.setDate(4, dateU);

            req.executeUpdate();
            ResultSet rs = req.getGeneratedKeys();

            while (rs.next()) {
                 keys.add(rs.getInt(1));
                 keys.add(rs.getInt(2));
            }

我只将这种代码用于简单主键而不是复合主键。我只是试图调整它以获得几个键,但它不起作用。

我的对象是 ABONNEMENT(int id_customer , int id_review , LocalDate first_date, LocalDate last_date)

标签: javasqlprimary-key

解决方案


推荐阅读