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

Použít BLOB nebo VARBINARY pro šifrovaná data v MySQL?

BLOB i VARBINARY jsou „řetězcové“ datové typy, které ukládají binární strings (ve skutečnosti bajtová pole), na rozdíl od obvyklých typů řetězců, které ukládají znak řetězce, s kódováním znakové sady atd.

Ve většině ohledů můžete sloupec BLOB považovat za sloupec VARBINARY, který může být tak velký, jak chcete.

BLOB se liší od VARBINARY v následujících ohledech:

  • Při ukládání nebo načítání hodnot nedochází u sloupců BLOB k odstranění koncové mezery.
  • U indexů ve sloupcích BLOB musíte zadat délku předpony indexu.
  • Sloupce BLOB nemohou mít hodnoty DEFAULT.

Použít BLOB , protože pokud by vaše zašifrované hodnoty náhodou končily mezerovým bajtem (hexadecimální 20), byly by zkráceny s VARBINARY, což by ve skutečnosti poškodilo vaši hodnotu. Také nebudete dávat index na zašifrovanou hodnotu, takže na problému s indexem nezáleží, ani nebudete mít výchozí hodnotu.



  1. Jak změnit duplicitní řádky na jedinečné hodnoty v mysql?

  2. Záleží na pořadí sloupců v klauzuli WHERE?

  3. Vrátit náhodné výsledky ( pořadí podle rand() )

  4. Parametry Oracle s příkazem IN?