Задать вопрос
@phpcoder81

Как соединить два запроса (INSERT, IF) в один?

Перед ставкой строки, нужно проверить, например количество строк в таблице (или любой друой SELECT). Если их более 10, то добавить запись. Обычно такие задачи делаем двумя отдельными запросами в рамках одного PHP скрипта. Вопрос. Можно ли это как-то соединить в один запрос?
  • Вопрос задан
  • 209 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Java-разработчик
    9 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
Можно воспользоваться insert .. select. Если select даст 0 строк - то это валидный запрос, который ничего не вставит в таблицу.
insert into tablename (field1, field2)
select 'const1', 'const2'
from (select null) dummyonerowtable
where not exists(select 1 from anothertable where ... limit 1 offset 9) -- и нет 10 строки по какому-то критерию


Фокусы сложнее - через хранимки. Только mysql и хранимки... Лучше выберите что-то одно из них и не смешивайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы