MySQLは配列の保存をサポートしていません。ただし、2番目のテーブルを使用して、ユーザーとアイテム間の関係を格納することにより、配列をエミュレートできます。テーブル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.