Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    35

    ID casuale e non autoincrementale

    Ciao ragazzi,
    vego qui come al solito a chiedervi un aiuto.

    Ho bisogno di generare un numero unico che mi identifichi un record completamente casuale.
    Utilizzo Mysql ma spero che esisti una soluzione universale.
    Access banalmente ricordavo che permette di definirlo.

    NON DEVE ESSERE AUTOINCREMET!

    grazie
    Fidarsi è bene... non fidarsi e meglio! Compro/Vendo solo ed escusivamente con consegna a mano!<br>
    Rifiutare la preinstallazione di Windows XP? Ora puoi

  2. #2
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    ma... devi generarlo in PHP o automatimante durante (ad esempio) una INSERT Mysql?
    Guybrush Threepwood

  3. #3
    Vediamo... potresti generare l'id tramite rand()
    e poi controllare con una SELECT che quell'id non esista già, per poi inserirlo.

    Però così più sono gli id, e più tempo ci mette per trovare un nuovo id random valido...

  4. #4
    se non hai la necessità di avere un ID proprio casuale, ma può andar bene anche un ID univoco dipendente dall'orario di sistema, puoi usare questa funzioncina. restituisce sempre e comunque un valore univoco quindi non hai nemmeno la necessità di controllare se il nuovo ID è gia presente nella tabella:

    codice:
    function unique_id() {
    	$now = (string)microtime();
    	$now = explode(' ', $now);
    	$unique_id = $now[1].str_replace('.', '', $now[0]);
    	unset($now);
    	
    	return $unique_id;
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    35
    Originariamente inviato da OhMyGod
    se non hai la necessità di avere un ID proprio casuale, ma può andar bene anche un ID univoco dipendente dall'orario di sistema, puoi usare questa funzioncina. restituisce sempre e comunque un valore univoco quindi non hai nemmeno la necessità di controllare se il nuovo ID è gia presente nella tabella:

    codice:
    function unique_id() {
    	$now = (string)microtime();
    	$now = explode(' ', $now);
    	$unique_id = $now[1].str_replace('.', '', $now[0]);
    	unset($now);
    	
    	return $unique_id;
    }
    Speravo che mysql avesse qualcosa integrato... però va bene lo stesso!
    Grazie.
    Fidarsi è bene... non fidarsi e meglio! Compro/Vendo solo ed escusivamente con consegna a mano!<br>
    Rifiutare la preinstallazione di Windows XP? Ora puoi

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.