Récupération de l'ID d'auto-incrémentation à partir des instructions préparées
Lors de l'utilisation d'instructions préparées avec des requêtes de base de données Java, il est crucial de récupérer la clé générée automatiquement à partir du base de données pour référencer l'enregistrement nouvellement créé.
Dans votre exemple, utiliser Statement.RETURN_GENERATED_KEYS avec une instruction préparée génère une erreur. Pour résoudre ce problème, modifiez le code comme suit :
String sql = "INSERT INTO table (column1, column2) values(?, ?)"; stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
En passant Statement.RETURN_GENERATED_KEYS comme argument à prepareStatement(), l'instruction préparée est configurée pour capturer la clé générée automatiquement. Par la suite, le code suivant peut être utilisé pour récupérer l'ID :
stmt.executeUpdate(); if (returnLastInsertId) { ResultSet rs = stmt.getGeneratedKeys(); rs.next(); auto_id = rs.getInt(1); }
Cette solution vous permet de récupérer avec succès l'ID d'auto-incrémentation lors de l'insertion d'enregistrements à l'aide d'instructions préparées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!