Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy mogę używać VARCHAR jako KLUCZA PODSTAWOWEGO?

Oczywiście, że możesz, w tym sensie, że RDBMS ci na to pozwoli. Odpowiedź na pytanie, czy powinnaś zrób to jednak inaczej:w większości sytuacji wartości, które mają znaczenie poza systemem bazy danych, nie być wybrany jako klucz podstawowy.

Jeśli wiesz, że wartość jest unikalna w systemie, który modelujesz, należy dodać do tabeli unikatowy indeks lub ograniczenie unikatowe. Jednak kluczem podstawowym powinna być jakaś „bezsensowna” wartość, taka jak automatycznie zwiększana liczba lub identyfikator GUID.

Powód tego jest prosty:zdarzają się błędy wprowadzania danych i rzadkie zmiany w rzeczach, które wydają się niezmienne. Znacznie trudniej je naprawić na wartościach używanych jako klucze podstawowe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Określanie mySQL ENUM w modelu Django

  2. WYBIERZ różne wartości dla wielu wierszy o tym samym identyfikatorze

  3. NHibernate IPreUpdateEventListener, IPreInsertEventListener nie zapisuje w bazie danych

  4. Python trudne kodowanie ciągów

  5. Zatwierdź dane w kontenerze mysql