Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Binarny zestaw znaków MySQL a zestaw znaków binarnych znaków

Nie ma różnicy.

Istnieje jednak zastrzeżenie, jeśli przechowujesz ciąg.

Jeśli chcesz przechowywać tylko tablicę bajtów lub inne dane binarne, takie jak strumień lub plik, użyj typu binarnego, ponieważ do tego są przeznaczone.

Cytat z podręcznika MySQL :

Więc technicznie nie ma różnicy.

Jednak podczas przechowywania ciągu należy go przekonwertować z ciągu na wartości bajtowe przy użyciu zestawu znaków. Decyzja jest taka, aby zrobić to samemu przed serwerem MySQL lub pozostawić to MySQL, aby zrobił to za Ciebie. MySQL wykona zadanie, rzutując łańcuch na BINARY za pomocą zestawów znaków BIN.

Jeśli chcesz przechowywać kodowanie w innym formacie, powiedzmy, że masz wymaganie biznesowe, które mówi, że musisz użyć 4 bajtów na znak (MySQL nie robi tego domyślnie), możesz wtedy użyć ZESTAW ZNAKÓW BINARNYCH do kolumny tekstowej i samodzielnie wykonaj kodowanie zestawu znaków.

Warto też przeczytać BINARY i VARBINARY Rodzaje z podręcznika MySQL, ponieważ zawiera szczegółowe informacje, takie jak dopełnienie.

Podsumowanie: Nie ma różnicy technicznej, ponieważ jedno jest synonimem drugiego. Moim zdaniem logiczne jest przechowywanie ciągów binarnych w typach danych, które normalnie zawierałyby ciąg za pomocą Zestawu znaków binarnych i przechowywać tablice bajtów / strumienie itp. w BINARY pola, które nie mogą być reprezentowane przez przekształcenie danych za pomocą zestawu znaków.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównaj wartości znaczników czasu i przypisz wartość do każdego z nich na wypadek, gdyby się zmieniły

  2. MySQL pobiera datę sprzed n dni jako znacznik czasu

  3. php (rozmyte) wyszukiwanie dopasowania

  4. Łącznik MySql C++ getString() nie działa poprawnie, podczas gdy getInt działa idealnie

  5. Co to znaczy uciec przed napisem?