Роман Мирр, я делал запросы по отдельности, но иногда при клацаний по основному сайту я начал получать Error 500, при этом если через 1-2 секунды обновить страницу снова ошибка пропадает. Мне сказали, мол слишком много запросов к БД идет, это причина error 500, но как пишут товарищи внизу - это бред и ошибка в чем-то другом.
Иван Шумов, Какие проблемы с базой?? какие могут быть проблемы? запрос составлен не правильно? или что? Вы лучше дельный совет дайте, если есть понимание, а не просто отправляйте юзера туда, не знаю куда, сделать то, сами не знаете чего. Множество запросов я сейчас стараюсь сделать одним запросом, а не десятком через циклы.
Я действительно не понимаю, про какие проблемы с БД вы говорите. У меня нет проблем с mysql, я спрашиваю как можно делать задачу через 1 запрос, чтобы не создавать 100 запросов отдельно, разве это не правильно?
Расскажите про транзакции поподробнее, что это?
500 ошибка возникает не во время выполнения скрипта, а если скрипт выполняется сделать какое-нибудь действие на сайте которое связано с бд мы 50/50 можем получить эту ошибку, я спрашивал у поддержки хоста сказали может быть из-за большого количества обращений к бд за 1 секунду.
Rsa97, в таблицу sc_orders мы будем заносить заказы в дальнейшем из таблицы codes. В sc_orders мы как раз проверяем, а есть ли заказы в процессе?!) если >= 20 мы не будем заносить новые, иначе если меньше мы должны занести 1,2, или 10 в зависимости от того, сколько в процессе (статус 5).
Rsa97, система должна работать вот так:
Проверяем, есть ли заказы в таблице sc_order со статусом 5, если нету должны загрузить 20 шт (лимит задаем через переменную) если в таблице 20шт, то ничего не делать, если в таблице 10 штук, то нужно загрузить 10, т.е. смысл таков, что мы должны взять заказы из таблицы, при этом учитывать текущее количество заказов (оно обозначается статусом 5), чтобы в сумме это не превышало заданный лимит.
Rsa97, ну выборку из двух таблиц сделать можно проще в таком случае. Мне нужно именно проверять количество записей в sc_order если их 5, то из codes выбирать только 15 записей.
Я не очень силен в mysql, но как тут проверяется вот этот момент:
Если в sc_orders есть 5 записей со статусом 5 из codes мы должны получить только 15 записей?