Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    mysql_insert_id() restituisce un id sbagliata

    ciauz a tutti... ho un dubbio...
    subito dopo aver eseguito una query di inserimento utilizzo mysql_insert_id() per recuperare l'ultima id inserita...
    il problema è che mi da un id sbagliata...

    esempio
    tabella1, tabella2, tabella3

    mettiamo che inserisco 3 record in tabella1, 3 in tabella2 e 3 in tabella 3

    il problema è che mi fa un conteggio unico...
    cioè... dopo aver inserito l'ultimo record in tabella3, mysql_insert_id avrebbe come valore = 9 nonostante sia il terzo record della tabella...

    qualcuno sa come mai?

    ciauzzzz e grazie

  2. #2
    non si capisce cosa vuoi dire.

    mysql_insert_id() estrae l'ultimo id autoincrement inserito. Se fai tre insert su tre tabelle ti dara' il valore dell'ultima tabella in cui hai fatto l'insert.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    si...sono stato poco chiaro...hai ragione...mi spiego meglio
    ecco una sequenza di inserimenti

    tabella | id | mysql_insert_id()

    table1 | 1 | 1
    table1 | 2 | 2
    table1 | 3 | 3

    table2 | 1 | 4
    table2 | 2 | 5
    table2 | 3 | 6

    table3 | 1 | 7
    table3 | 2 | 8
    table3 | 3 | 9

    nn riesco a capire perchè mi succeda questo...

    ciauz e grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Se la tua tabella fosse:

    tabella_3
    codice:
    id    |   record(s)
    
    1            ....
    3            ...
    22          ....
    e fai tre insert e poi peschi l'ultimo id inserito, cosa ti aspetti di trovare? io dico 25

    Per cui andrei a vedere bene come è fatta la tabella 3 in partenza
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Note: The value of the MySQL SQL function LAST_INSERT_ID() always contains the most recently generated AUTO_INCREMENT value, and is not reset between queries.

  6. #6
    ah...grazie davvero mem...

    quindi l'unica soluzione è eseguire una query di select subito dopo l'inserimento per recuperare l'ultimo id...?

    ciauz e gazie ancora

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.