sql >> Databáze >  >> RDS >> Mysql

sloupec mySQL pro uložení pole

MySQL nepodporuje ukládání polí. Můžete však použít druhou tabulku k emulaci pole uložením vztahu mezi uživateli a položkami. Řekněme, že máte tabulku users :

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

A máte tabulku definující items :

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

Položky, které má uživatel, můžete porovnat pomocí tabulky podobné 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)
);

Poté k určení, jaké položky uživatel 123 získal, můžete použít JOIN je podobný:

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. Jak provést bodovou obnovu dat MySQL a MariaDB pomocí ClusterControl

  2. Jak poslat výsledky dotazu e-mailem jako přílohu v SQL Server (T-SQL)

  3. Problém s časovým limitem připojení k základnímu datovému zdroji (pomocí mysql)

  4. výsledek dotazu mysql do pole php