Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Limite mysql_insert_id()

    Salve ragazzi...
    stavo provando un po' a recuperare l'ultimo id inserito in tabella e ho notato che il mysql_insert_id() si blocca a 65535 e dopo mi da fisso 253

    come si puo' ovviare a questo?!
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  2. #2
    Non è che hai un id tiny?

    Senno' c'è anche quest'avvertimento sul manuale:

    Avvertimento

    mysql_insert_id() converte il tipo restituito dalla funzione nativa dell'API C di MySQL mysql_insert_id() al tipo long (chiamata int nel PHP). Se la colonna AUTO_INCREMENT è del tipo BIGINT, il valore restituito da mysql_insert_id() sarà inesatto. In questo caso si usi la funzione SQL di MySQL LAST_INSERT_ID() in una query SQL.

  3. #3
    si il problema è che se nello stesso instante arrivano due insert?!
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  4. #4
    Originariamente inviato da alex86
    si il problema è che se nello stesso instante arrivano due insert?!
    mysql serializza tutte le richieste, nel senso che ne esegue sempre una per volta.

    65535 e' il limite del campo SMALLINT UNSIGNED (2 byte).

    Setta il campo come INT(10) e risolvi i tuoi problemi.

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

  5. #5
    ma nel database mi salva i valori maggiori di 65535
    il problema è che quando li prende mysql_insertid si vede che fa un cast in un formato piu' piccolo (smallint mi sa) e non mi da il valore esatto...

    sul database il campo è settato a bigint
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  6. #6
    Originariamente inviato da alex86
    si il problema è che se nello stesso instante arrivano due insert?!
    ogni istanza del tuo script dovrebbe avere la sua propria connessione con mysql, e mysql_lat_id() dovrebbe far riferimento a quella connesione (l'ultima aperta per la apgina).

    Almeno questo credo eh

  7. #7
    Originariamente inviato da }gu|do[z]{®©
    ogni istanza del tuo script dovrebbe avere la sua propria connessione con mysql, e mysql_lat_id() dovrebbe far riferimento a quella connesione (l'ultima aperta per la apgina).

    Almeno questo credo eh
    si..è così..
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  8. #8
    Originariamente inviato da alex86
    si..è così..
    scusa.. avveo letto solo l'ultimo post e credevo che il tuo dubbio riguardasse questo comportamento

  9. #9
    scusate ma il last_insert_id che mi prende?!..
    l'ultimo id dell'ultimo insert?!
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  10. #10
    sul database il campo è settato a bigint
    Hai letto l'avvertimento che ti ho postato e che è sulla pagina del manuale???

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.