mmm
domandona come da titolo...conviene utilizzare degli hash come chiavi primarie o degli id autoincrement?
Ovviamente ci scono delle casistiche scontate (non a prezzo ribassato, ma situazioni ovvie) come ad es una tabella sessioni, è ovvio usare un hash, o in un elenco prodotti è ovvio usare un id numerico...ma ad esempio...in un elenco degli ordini eseguiti? o in un elenco di files presenti in una tabella?
mettiamo che l'utente X possa scaricare dei file ma per via di una falla del software possa scaricare tutti i file che vuole modificado l'id...se ci fosse una chiave primaria sarebbe molto facile...se ci fosse un hash al posto della chiave primaria sarebbe molto complicato...ci vorrebbe molta fortuna...
inoltre ormai i sistemi di hashing sono diventati fondamentali ovunque e mi domandavo se non servivano realmente anche come chiavi primarie, allagarndo però il loro campo di utilizzo?
---
ovviamente nasce una domanda spontanea...è possibile mettere come valore di default in una tabella del codice SQL da eseguire e non del normale testo???
ho provato a mettere come default nel campo primario della tabella
MD5(CONCAT(RAND(), CURTIME()))
ma mi ha inserito questo pari pari :\
sciauz