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

MySQL:Jak zmienić kolumnę varchar(255) UNIQUE na UNIQUE Text NOT NULL?

Czy zamierzasz używać kolumny TEKST jako części UNIQUE KEY? To BARDZO nieefektywne! Nie rób tego! Zdecydowanie sugeruję:

  • Dodaj dodatkową kolumnę o nazwie na przykład 'description_hash' char(32) not null default ''
  • Zapisz wartość hash dla description pole do niego. Na przykład description_hash=MD5(description)
  • Zmień swój klucz na UNIQUE KEY (name, description_hash)

Oczywiście musisz zachować description_hash aktualna kolumna w kodzie, ale jak widać - w większości przypadków wymaga to tylko kilku zmian w kodzie. Możesz też użyć wyzwalacza, aby to obsłużyć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mac OS X, okienko preferencji MySQL nie działa

  2. mysqli-- instrukcja przygotowania nie powiodła się z błędem, nie użyto tabeli

  3. Jak przechowywać 1/01/1900 3:54:32 rano w MySQL?

  4. Class.forName(com.mysql.jdbc.Driver) nie szuka w pliku jar dla klasy

  5. Odwołanie do wartości tablicy asocjacyjnej z PDO::FETCH_ASSOC