Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Как да променя varchar(255) UNIQUE колона на UNIQUE Text NOT NULL?

Ще използвате ли колона TEXT като част от UNIQUE KEY? МНОГО е неефективно! Не правете това! Горещо ви препоръчвам да:

  • Добавете допълнителна колона, наречена например 'description_hash' char(32) not null default ''
  • Съхранявайте хеш-стойността за description поле в него. Например description_hash=MD5(description)
  • Променете ключа си на UNIQUE KEY (name, description_hash)

Разбира се, ще трябва да запазите description_hash колоната е актуална във вашия код, но както виждате - в повечето случаи се изискват само няколко промени в кода. Или можете да използвате тригер за справяне с това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. опитвайки се да актуализирате mysql база данни в php

  2. MySQL съответстващи символи на Unicode с ascii версия

  3. Вземете език за поръчки на клиенти на Woocommerce

  4. CURRENT_DATE/CURDATE() не работи като стойност на DATE по подразбиране

  5. Проблеми с изявлението за избор на MySQL и Python