Baza danych przechowuje dane multimedialne (duże ilości danych binarnych). Którego typu danych należy użyć dla takich pól?
Źle.
LONGTEXT przechowuje długi TEKST, a nie dane binarne.Źle.
DOUBLE to typ liczbowy zmiennoprzecinkowy.Dobrze.
BLOB (Binary Large Object) przechowuje duże dane binarne, np. obrazy.Źle.
ENUM przechowuje jedną z predefiniowanych wartości tekstowych.Do przechowywania dużych danych binarnych - obrazów, dźwięku, plików - służy typ
BLOB (Binary Large Object). W odróżnieniu od typów tekstowych nie zakłada kodowania znaków, więc nadaje się do surowych bajtów. W MySQL ma warianty (TINYBLOB, MEDIUMBLOB, LONGBLOB) o różnej pojemności. Dlatego dla danych multimedialnych właściwy jest BLOB.Pozostałe typy nie nadają się do danych binarnych.
ENUM pozwala przechować tylko jedną z wcześniej zdefiniowanych wartości tekstowych (np. „mały”, „duży”) - to typ wyliczeniowy, nie magazyn plików. DOUBLE to liczba zmiennoprzecinkowa, służąca do wartości ułamkowych. LONGTEXT przechowuje wprawdzie dużo danych, ale TEKSTOWYCH, z kodowaniem znaków, więc surowe bajty obrazu mógłby zniekształcić. Dane binarne multimediów trzyma się w polu typu BLOB, dlatego to on jest poprawny.