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

kolom mySQL untuk menampung array

MySQL tidak mendukung penyimpanan array. Namun, Anda dapat menggunakan tabel kedua untuk mengemulasi array dengan menyimpan hubungan antara pengguna dan item. Katakanlah Anda memiliki tabel users :

CREATE TABLE users (
    user_id SERIAL PRIMARY KEY,
    ...
);

Dan Anda memiliki tabel yang mendefinisikan items :

CREATE TABLE items (
    item_id SERIAL PRIMARY KEY,
    ...
);

Anda dapat menghubungkan item apa yang dimiliki pengguna menggunakan tabel yang mirip dengan user_items :

CREATE TABLE user_items (
    id SERIAL PRIMARY KEY,
    user_id BIGINT UNSIGNED NOT NULL,
    item_id BIGINT UNSIGNED NOT NULL,
    ...,
    FOREIGN KEY (user_id)
        REFERENCES users (user_id),
    FOREIGN KEY (item_id)
        REFERENCES items (item_id)
);

Kemudian, untuk menentukan item apa saja pengguna 123 telah diperoleh, Anda dapat menggunakan JOIN mirip dengan:

SELECT items.*
FROM users
INNER JOIN user_items
    ON user_items.user_id = users.user_id
INNER JOIN items
    ON items.item_id = user_items.item_id
WHERE users.user_id = 123; -- Or some other condition.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara untuk menggunakan ON DUPLICATE KEY untuk Memperbarui semua yang ingin saya masukkan?

  2. Pengujian Kinerja Menggunakan MySQLdump dan MySQL Shell Utility

  3. masukkan jika tidak ada yang lain pilih saja di mysql

  4. MySQL (atau PHP?) mengelompokkan hasil berdasarkan data lapangan

  5. Cetak kueri aktual yang dijalankan MySQLdb?