![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jun 2010
Сообщений: 153
|
я делаю игру и мне нужен очень интересный для меня запрос!
и так, у нас есть таблица fon вот её структура id|user1|user2|user3|user4|user5 мне нужен запрос который бы нашёл строку с ид 5 и проверил на заполненность user1,user2,user3,user4,user5 и в первую свободную записал бы цифру 1 |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 215
|
Проще (и правильнее) поменять структуру базы:
-у таблицы fon убрать столбцы user1|user2|user3|user4|user5 -создать таблицу fon_users со структурой id|fon_id|user -складывать в эту таблицу всех users Если так хочется, чтобы обязательно было 5 users, то при вставке в fon можно добавить 5 записей в fon_users. Но это довольно коряво... |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 153
|
Цитата:
Добавлено через 3 часа 24 минуты можете подсказать еще один запрос? нужен почти такой-же только чтоб он выводил столько полей user свободных и сколько занятых. Очень важный для меня момент! |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 4,159
|
update fon set user5 = if( isnull(user5) and not isnull(user4) and not isnull(user3) and not isnull(user2) and not isnull(user1), 1, user5), user4 = if( isnull(user4) and not isnull(user3) and not isnull(user2) and not isnull(user1), 1, user4), user3 = if( isnull(user3) and not isnull(user2) and not isnull(user1), 1, user3), user2 = if( isnull(user2) and not isnull(user1), 1, user2), user1 = ifnull(user1, 1) where id = 5
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
strange mood
|
Если поля свободны, то зачем вообще хранить их в базе?
Имеем таблицы: +-----------+ |backgrounds| +-----------+ |id | +-----------+ +-----------------+ |backgrounds_users| +-----------------+ |id_background | |id_user | +-----------------+ Получение количества игроков, привязанных к фону %ID%: Добавление игрока %USER% к фону %BACKGROUND%:
__________________
тонкий тролль, осеянный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|