Salve a tutti!
E' possibile impostare una primary key in MD5 che venga inserita in automatico ad ogni inserimento?
una specie di auto-increment... ma in md5![]()
Salve a tutti!
E' possibile impostare una primary key in MD5 che venga inserita in automatico ad ogni inserimento?
una specie di auto-increment... ma in md5![]()
Guybrush Threepwood
MySQL dovrebbe inserire automaticamente l'MD5 di cosa?
speravo di si
mi spiego meglio... devo fare una tabella con delle registrazioni.
mi occorreva che l'id della registrazione fosse criptato, così da poterlo passare come GET senza problemi.
In pratica mi serve un campo che, all'inserimento di una nuova riga, venga auto-generato (tipo l'autoincrement, x intenderci)... ma in md5
Guybrush Threepwood
inserisci (a mano) l'MD5 di time()
Ciao,
mysql (versione stabile) non supporta i triggers ma a partire da mysql 4.1 puoi usare ON DUPICATE KEY per inserire automaticamente il risultato di un'espressione o di una funzione
per favore NIENTE PVT TECNICI da sconosciuti
non conviene assolutamente fare l'md5 di time perché se per caso ci sono due inserimenti nello stesso secondo salta tutto
di solito faccio (per sicurezza)
md5(uniqid(microtime(), true));
ma va anche bene
md5(microtime());
anche se è nettamente meglio il sistema di su
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Questo è da mettere nel campo "default" di mysql, quindi?Originariamente inviato da daniele_dll
non conviene assolutamente fare l'md5 di time perché se per caso ci sono due inserimenti nello stesso secondo salta tutto
di solito faccio (per sicurezza)
md5(uniqid(microtime(), true));
ma va anche bene
md5(microtime());
anche se è nettamente meglio il sistema di su![]()
Guybrush Threepwood
assolutamente noOriginariamente inviato da Threepwood
Questo è da mettere nel campo "default" di mysql, quindi?![]()
nel campo di default "forse" puoi mettere
MD5(UNIX_TIMESTAMP())
ma comunque viene generato un MD5 per ogni secondo
non so se MD5 ha la possibilità di generare stringhe casuali uniche
cmq dovresti farle generare a php e non a mysql...e lo fai quando esegui l'insert
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
una chiave primaria ha lo scopo di indicizzare col minimo costo una tabella, se al posto di un int metti un md5 togli questa prerogativa. inoltre mentre un auto_increment ti cresce sempre ed è quindi automaticamente unico, un md5 non ti da questa certezza.
usa due campi diversi per i due diversi scopi! divide et impera
<?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
' socio fondatore e membro del direttivo del GrUSP ',"\n",
' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>
non puoi generare il valore facendo
md5(concatenodeicampidelform)
![]()