У меня есть две таблицы MySQL. Одна таблица - это список призов, а другая таблица - список победителей. Доступно несколько видов приза.Вставить в MySQL - IF t1.count (*) <t2.available
приз
- идентификатор
- имя
- доступны
победитель
- имя
- prize_id
Если есть 3 приза доступны, и только 2 победителей в настоящее время, что приз в списке их prize_id
, я хочу, чтобы вставить следующий победитель.
Я попробовал этот запрос:
INSERT INTO winner (name, prize_id)
SELECT 'steve', 1
FROM winner, prize
WHERE (select if(count(w.id) < p.available, 1, 0) as `valid`
from prize p, winner w
where p.id = 1 and w.prize_id = p.id) = 1
Если я обрезать его до этого, такая работа, но будет вставлять столько строк, сколько существует в prize
таблице
INSERT INTO prize (name, prize_id)
SELECT 'steve', 1
FROM winner
WHERE 1 = 1;
Есть способ, которым я могу заставить это работать?