行間を読むと、多対多の関係を表すために外部キーのリストをコンマ区切りの文字列フィールドに格納しているように思えます。これは良い考えではありません。
代わりにすべきことは、リレーションを格納するテーブルを作成することです。
たとえば、 という名前のテーブルがあり、users
それらの間の友人関係を保存したいとします。あなたがしていることは次のようなものです(注:最後に書いたので、これは実際には良い例ではないことに気付きましたが、今のところそれに固執しています):
id | name | friends
------+--------+-----------
1 | Dave | 2,4
2 | Bob | 1
3 | Tom | 4
4 | Bill | 1,3
一方、行う方がはるかに優れているのは、次のようなものです。
users
id | name
------+--------
1 | Dave
2 | Bob
3 | Tom
4 | Bill
friends
id | user | friend
------+--------+----------
1 | 1 | 2
2 | 1 | 4
3 | 2 | 1
4 | 3 | 4
5 | 4 | 1
6 | 4 | 3
あなたができるデイブの友達を選択するには
SELECT u.*
FROM friends f
JOIN users u ON u.id = f.friend
WHERE f.user = 1
...そして Dave と Bob の間の関係を削除するには (ここでやりたいこと)、次のようにします。
DELETE FROM friends
WHERE (
user = 1 AND friend = 2
) OR (
user = 2 AND friend = 1
)