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