SELECT * FROM user_referral;
id user_id new_user_id bonus_type amount
1 123 own 25
2 234 own 25
3 123 456 referral 25
SELECT * FROM user_points;
id user_id referral_points
1 123 50
2 234 25
Я работаю для приложения, и у меня есть две таблицы, как указано выше. Если пользователь присоединится к моему приложению, он получит некоторый бонус.
, когда пользователь присоединится, он получит 25 рупий, а когда он снова пригласит другого друга, он получит еще 25. Поэтому первая запись будет равна user_referral таблица, в которой будет храниться отдельная сумма, а для конкретного пользователя общая сумма будет храниться в user_points таблица.
Теперь я пишу триггер в user_referral таблица для обновления суммы в Таблица user_points с использованием mysql, я хочу проверить, существует ли пользователь в таблице user_points , эту сумму следует обновить, иначе она должна вставить новую запись.
Я пробовал, если еще условие, но его нет работает, я не знаю, как проверять дубликаты записей ..
if (SELECT user_id FROM user_points WHERE user_id IN (SELECT new.user_id FROM user_referral)) then
update user_points set
referral_points=referral_points+new.point,
updated_time=new.inserted_time;
else
INSERT INTO user_points (user_id,referral_points,updated_time)
VALUES (new.user_id, new.point, new.inserted_time);
end if;
Также я попытался использовать при обновлении дубликата ключа, но в моем случае он вставляет новую строку, вместо этого следует обновить предыдущую.
Любая помощь будет оценена ..