sql >> Databáze >  >> RDS >> Mysql

MySQL:Jak změnit sloupec varchar(255) UNIQUE na UNIQUE Text NOT NULL?

Budete používat sloupec TEXT jako součást UNIQUE KEY? Je to VELMI neefektivní! Nedělejte to! Důrazně vám doporučuji:

  • Přidejte další sloupec s názvem například 'description_hash' char(32) not null default ''
  • Uložte hodnotu hash pro description pole do něj. Např. description_hash=MD5(description)
  • Změňte svůj klíč na UNIQUE KEY (name, description_hash)

Samozřejmě budete muset zachovat description_hash sloupec je ve vašem kódu aktuální, ale jak vidíte - ve většině případů to vyžaduje jen několik změn kódu. Nebo můžete použít trigger pro zpracování.



  1. Magento:Nemohu se přihlásit do admin

  2. Jak se dostanete k limitům 8060 bajtů na řádek a 8000 na hodnotu (varchar, nvarchar)?

  3. MySQL agregovaný součet objektů JSON

  4. Získání chyby ORA - 00907 v následující části ON UPDATE