Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    2

    Mysql LAST_INSERT_ID() java

    Buongiorno e salve a tutti.
    E' la prima volta che scrivo nel forum.
    Ho fatto un'applicazione in java e che utilizza mysql con una pool connection e ho avuto l'esigenza di utilizzare LAST_INSERT_ID(). Non mi ha mai dato problemi tranne una volta che suppongo che si sia intromessa tra l'insert e la chiamata a LAST_INSERT_ID(), un'ulteriore insert su un'altra tabella, poich� l'id che mi restituisce non � coerente.

    Vi chiedo se con l'accoppiamento java mysql esiste un modo di usare questa funzione, che eviti il problema che mi si � presentato.

    So, parlando con altri informatici, che in PHP esiste un modo per evitare questo, ma � proprio una funzione PHP.

    Grazie per l'attenzione

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    last_insert_id() vale per tutte le tabelle con auto increment. Di questo non mi ero mai fatto la domanda.

    L'idea è di ricavare il numero dell'autoincrement proprio nella tabella giusta.
    codice:
    SELECT `AUTO_INCREMENT`
    FROM  INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'tests'
    AND   TABLE_NAME   = 'toto'
    'tests' è il nome del database. Ti torna il prossimo valore. Per esempio mi torna 3 quando ho 2 record nella tabella 'toto'.
    Quindi se fai `AUTO_INCREMENT` - 1 hai l'ultimo id inserito.
    Pero' non so come si comporta nel caso in cui ci sono diversi inserimenti contemporanei.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    2
    Ho risolto. In passato non mi aveva dato problema poichè LAST_INSERT_ID() l'ho sempre inserito in una transazione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.