Você não pode simplesmente concatená-lo, em vez de tentar dividi-lo primeiro?
UPDATE users_group
SET user_ids = CONCAT_WS(',', user_ids, '5' )
WHERE group_id =1
Mas isso sugere um design de banco de dados mal normalizado. Geralmente, uma lista separada por vírgulas deve ser armazenada como linhas em outra tabela (ou seja, uma linha por valor na lista), conforme sugerido por Mark Baker.
EDIT - Se você deseja ter apenas uma única cópia de qualquer id em cada campo user_ids, independentemente de quantas vezes você tente inseri-lo, e deseja adicionar vários ids de uma só vez:-
UPDATE users_group a
INNER JOIN
(
SELECT 3 AS an_id
UNION
SELECT 4
) b
ON FIND_IN_SET(b.an_id, a.user_ids) = 0
SET a.user_ids = CONCAT_WS(',', a.user_ids, b.an_id )
WHERE a.group_id =1
EDITE novamente - se você tiver uma tabela de usuários contendo os ids, poderá selecionar os ids de onde o id é um daqueles que você deseja adicionar.
Algo assim.
UPDATE users_group a
INNER JOIN
(
SELECT id
FROM users
WHERE id IN (3, 4)
) b
ON FIND_IN_SET(b.id, a.user_ids) = 0
SET a.user_ids = CONCAT_WS(',', a.user_ids, b.id )
WHERE a.group_id =1