実際に234,394,479
を使用していると仮定します 1つの列の値として(少なくとも,234,394,479,
を使用する必要があります WHERE invited LIKE '%,234,%'
を実行できるようにする クエリで)ユーザーテーブルを再構築し、フィールドinvited_users
を削除する必要があります 次のようなテーブルを作成します:
CREATE TABLE invited_users (
id INT AUTO_INCREMENT,
owner_id INT, -- Who's input it is
target_id INT, -- What's the target user
PRIMARY KEY ( id),
UNIQUE ( owner_id, target_id),
-- Indexes (FOREIGN KEYs!) to users table
);
そして、クエリでユーザー234を招待したユーザーのリストを選択するだけではありません:
SELECT users.id, users.name
FROM invited_users
INNER JOIN users ON invited_users.owner_id = users.id
GROUP BY users.id
WHERE invited_users.target_id = 234