Как сделать insert в базу при выполнении определенного условия?
Если правильно, то никак. Это логика предметной области, бд не должна этим заниматься. Если клиент заказал бутылку воды, а через пять мин решил, что одной мало и решил заказать еще одну, то по Вашей логике, заказ не будет принят. Такие вещи решаются на уровне колцентров.
Если же Вы хотите защититься от спама заказов, то это всеравно не решатся уровнем бд. Это настройки Ваших серверов и работников бэкенда, по ip или по логину ограничивается количество заказов в минуту.
Перед каждым insert делать select.
Чтобы гарантировать, что параллельные процессы не будут мешать друг другу, используйте LOCK TABLES.