Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да съхранявам масив от булеви стойности в база данни на MySql?

Ако търсите начин да направите това по начин, който може да се търси, тогава не.

Няколко метода за търсене (включващи повече от 1 колона и/или таблица):

  • Използвайте набор от SET колони. Ограничени сте до 64 артикула (включени/изключени) в комплект, но вероятно можете да намерите начин да ги групирате.
  • Използвайте 3 таблици:Items (id, ...), FlagNames(id, name) и основна таблица ItemFlags(item_id, flag_id). След това можете да направите заявка за елементи с joins .

Ако нямате нужда от него, за да може да се търси, тогава всичко, от което се нуждаете, е метод за сериализиране на вашите данни, преди да ги поставите в базата данни, и да ги десериализирате, когато ги извадите, след което да използвате колона char или varchar.

  • Използвайте съоръжения, вградени във вашия език (сериализиране/десериализиране на PHP).
  • Свържете поредица от символи „y“ и „n“ заедно.
  • Побитово пакетирайте стойностите си в низ (8 бита на знак) в клиента, преди да извършите извикване към базата данни MySQL, и ги разопаковайте, когато извличате данни от базата данни. Това е най-ефективният механизъм за съхранение (ако всички редове са еднакви, използвайте char[x], а не varchar[x]) за сметка на това, че данните не могат да се търсят и малко по-сложен код.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Javascript библиотеки, които позволяват SQL-подобни заявки към JSON данни?

  2. Как да създадете XML файл от MySQL Data заявки?

  3. Недефиниран индекс:REMOTE_ADDR, докато Laravel мигрира

  4. как да създадете страница за влизане в приложението за android?

  5. избройте всички таблици в база данни с MySQLi