Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложный SQL запрос / 9 сообщений из 9, страница 1 из 1
13.02.2014, 07:04:26
    #38559280
MiXe_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Здравствуйте, помогите пожалуйста составить SQL запрос. Есть таблица: id, slots, players и play, нужно одним SQL запросом, выбрать строку в которой например slots будет равна 9, а players меньше значения slots и если такая строка в таблице будет найдена, добавить +1 в ячейку players этой же строки. Буду благодарен за любую помощь, надеюсь эта задача выполнима.
...
Рейтинг: 0 / 0
13.02.2014, 08:35:20
    #38559306
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
А если таких строк несколько?
...
Рейтинг: 0 / 0
13.02.2014, 09:06:42
    #38559333
MiXe_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
LIMIT 1
...
Рейтинг: 0 / 0
13.02.2014, 10:46:38
    #38559473
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Т.е. корректировать надо любую из них, случайную, так?
Ну тогда какие проблемы? переводишь свою задачу на аглицкий и получаешь текст запроса...
Код: sql
1.
2.
3.
4.
update table 
set players=players+1
where slots=9 and players<slots
limit 1
...
Рейтинг: 0 / 0
13.02.2014, 10:58:05
    #38559502
MiXe_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Да, рандомную запись, но если я выполняю update или insert, то я не могу получить данные из них, например ID.
...
Рейтинг: 0 / 0
13.02.2014, 11:01:54
    #38559507
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Блин, что ещё ты "забыл" упомянуть?

Сделай предварительно SELECT ... FOR UPDATE, получи ID, и по нему делай обновление.
...
Рейтинг: 0 / 0
13.02.2014, 11:11:15
    #38559529
MiXe_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Возможно вы не так поняли, я писал что нужно выбрать строку по этим критериям и обновить значение в ячейке в одном SQL запросе, а не просто обновить значение в ячейке.
...
Рейтинг: 0 / 0
13.02.2014, 11:16:31
    #38559540
MiXe_R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
Но думаю SELECT FOR UPDATE тоже подойдёт, ещё вопрос возник, можно ли выполняя insert into, сразу узнать ID который будет назначен AUTO_INCREMENT?
...
Рейтинг: 0 / 0
13.02.2014, 13:11:42
    #38559722
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный SQL запрос
MiXe_Rможно ли выполняя insert into, сразу узнать ID который будет назначен AUTO_INCREMENT?
Да, можно. И это описано в документации. Включая возможные проблемы.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложный SQL запрос / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]