Няма разлика.
Има обаче едно предупреждение, ако съхранявате низ.
Ако искате да съхранявате само масив от байтове или други двоични данни, като поток или файл, тогава използвайте двоичния тип, тъй като за това са предназначени.
Цитат от ръководството за MySQL :
Така че технически няма разлика.
Въпреки това, когато съхранявате низ, той трябва да бъде преобразуван от низ в байтови стойности с помощта на набор от знаци. Решението е или да направите това сами преди MySQL сървъра, или да оставите MySQL да го направи вместо вас. MySQL ще работи с чрез прехвърляне на низ към BINARY
използвайки наборите от символи BIN.
Ако искате да съхраните кодирането в друг формат, да приемем, че имате бизнес изискване, което гласи, че трябва да използвате 4 байта на знак (MySQL не прави това по подразбиране), тогава можете да използвате БИНАРЕН НАБОР НА СИМВОЛИкод> към текстова колона и извършете сами кодирането на набора от знаци.
Също така си струва да прочетете The BINARY
и VARBINARY
Видове
от ръководството на MySQL, тъй като в него се описва важна информация, като допълване.
Резюме: Няма техническа разлика, тъй като едното е синоним на другото. Според мен има логичен смисъл да се съхраняват двоични низове в типове данни, които обикновено държат низ, като се използва CHARACTER SET BINARY
и да съхранявате байтови масиви/потоци и т.н. в BINARY
полета, които не могат да бъдат представени чрез трансформиране на данните чрез набор от знаци.