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

MySQL:Hvordan ændres varchar(255) UNIQUE kolonne til UNIQUE Text NOT NULL?

Skal du bruge TEXT-kolonnen som en del af UNIQUE KEY? Det er MEGET ineffektivt! Gør det ikke! Jeg anbefaler kraftigt, at du:

  • Tilføj yderligere kolonne med navnet for eksempel 'description_hash' char(32) not null default ''
  • Gem hash-værdien for description felt ind i det. F.eks. description_hash=MD5(description)
  • Skift din nøgle til UNIQUE KEY (name, description_hash)

Du skal selvfølgelig beholde description_hash kolonne opdateret i din kode, men som du kan se - i de fleste tilfælde kræver det kun få kodeændringer. Eller du kan bruge trigger til at håndtere dette.



  1. Tilpassede forespørgsler i foråret med JPA

  2. Pakke:cx_Oracle til Python 3.5, windows64 bit. Oracle 11.2.0.1.0

  3. Er T-SQL Stored Procedure Execution 'atomisk'?

  4. SEPARATOR søgeord fungerer ikke korrekt i Hibernate Formula