Мышление в «циклах» почти всегда неправильно при работе с SQL. Вы должны думать с точки зрения наборов и того, как вы работаете с ними. Оператор SQL описывает именно это: как получить набор и что делать с этим набором строк.
В этом случае вы можете использовать инструкцию SELECT в качестве источника для INSERT:
insert into profit (user_id, value)
select id, 23
from users;
Обратите внимание, что в этом случае у вас нет предложения values
.