Mysql
 sql >> Database >  >> RDS >> Mysql

Posso usare VARCHAR come CHIAVE PRIMARIA?

Certo che puoi, nel senso che il tuo RDBMS te lo permetterà. La risposta alla domanda se tu dovresti ma è diverso:nella maggior parte delle situazioni, i valori che hanno un significato al di fuori del tuo sistema di database dovrebbero non essere scelto come chiave primaria.

Se si sa che il valore è univoco nel sistema che si sta modellando, è opportuno aggiungere un indice univoco o un vincolo univoco alla tabella. Tuttavia, la tua chiave primaria dovrebbe generalmente essere un valore "privo di significato", come un numero a incremento automatico o un GUID.

Il motivo è semplice:si verificano errori di immissione dei dati e modifiche poco frequenti a cose che sembrano non modificabili. Diventano molto più difficili da correggere sui valori utilizzati come chiavi primarie.