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

mySQL колона за задържане на масив

MySQL не поддържа съхранение на масиви. Въпреки това, можете да използвате втора таблица, за да емулирате масив, като съхранявате връзката между потребителите и елементите. Да кажем, че имате таблицата users :

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

И имате таблица, дефинираща items :

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

Можете да свържете какви елементи има потребителят, като използвате таблица, подобна на 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)
);

След това, за да определите какви елементи потребител 123 е придобил, можете да използвате JOIN е подобен на:

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. Как да сравним дата от mySQL с текущата дата в java?

  2. sql::SQLString поведение

  3. Използвайте датата в клетката на Excel в клаузата BETWEEN в SQL заявка

  4. Как да изберете диапазон от редове въз основа на стойности на полета - MySQL

  5. Използват ли се транзакциите XA/JTA все още?