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

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

Перед ставкой строки, нужно проверить, например количество строк в таблице (или любой друой SELECT). Если их более 10, то добавить запись. Обычно такие задачи делаем двумя отдельными запросами в рамках одного PHP скрипта. Вопрос. Можно ли это как-то соединить в один запрос?
  • Вопрос задан
  • 209 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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 и хранимки... Лучше выберите что-то одно из них и не смешивайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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