Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa menyimpan array nilai boolean dalam database MySql?

Jika Anda mencari cara untuk melakukan ini dengan cara yang dapat ditelusuri, maka tidak.

Beberapa metode yang dapat ditelusuri (melibatkan lebih dari 1 kolom dan/atau tabel):

  • Gunakan banyak SET kolom. Anda dibatasi hingga 64 item (aktif/nonaktif) dalam satu set, tetapi Anda mungkin dapat menemukan cara untuk mengelompokkannya.
  • Gunakan 3 tabel:Item (id, ...), FlagNames(id, nama), dan tabel pivot ItemFlags(item_id, flag_id). Anda kemudian dapat meminta item dengan bergabung .

Jika Anda tidak membutuhkannya untuk dapat dicari, maka yang Anda butuhkan hanyalah metode untuk membuat serial data Anda sebelum Anda memasukkannya ke dalam database, dan unserialize ketika Anda menariknya keluar, kemudian gunakan kolom char, atau varchar.

  • Gunakan fasilitas bawaan untuk bahasa Anda (serialize/unserialize PHP).
  • Menggabungkan serangkaian karakter "y" dan "n" menjadi satu.
  • Kemas sedikit nilai Anda ke dalam string (8 bit per karakter) di klien sebelum melakukan panggilan ke database MySQL, dan buka paketnya saat mengambil data dari database. Ini adalah mekanisme penyimpanan yang paling efisien (jika semua baris sama, gunakan char[x], bukan varchar[x]) dengan mengorbankan data yang tidak dapat dicari dan kode yang sedikit lebih rumit.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasilkan Skrip Pembaruan Tabel MySQl

  2. Bagaimana melakukan pemuatan satu kali untuk 4 miliar catatan dari MySQL ke SQL Server

  3. mysql concat_ws tanpa duplikat

  4. masalah dalam menginstal permata mysql2 dengan Rails3 di mac

  5. MySQL DATE_ADD tidak berfungsi