• Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Как присваивать значение+1 к каждой строке в mysql? (Внутри.)
Как присваивать значение+1 к каждой строке в mysql?
Дата: Воскресенье, 04.11.2018, 20:54 | Сообщение # 1
  • Ragamafona
  • Репутация:
  • Сообщений:
  • Удаленные
Как оптимизировать/написать такой вариант.
Мне нужно чтобы каждый новый игрок номировался, тобиж строка в таблице выглядит так "ID_USER" , "UserName"
К примеру я зайду с ника которого ещё нет в базе "123", создам переменную (счётик) ID_USER, в итоге на базу пойдёт сигнал "0" , "123"
Но если же сменить карту, переменные сбрасываются, и если зайду с ника "321" в базу пойдёт опять же ID_USER = 0. Мне нужно чтобы айди ни в каком случае не повторялись. Сейчас намудрил вариант постоянно вызывать все запросы с таблицы с таким типом ID_USER = 0 ; "ID с базы" >= "ID_USER", ID_USER =  "ID с базы" и так по циклу.

Да, не знаю понятно ли расписал вопрос, извиняйте не знаю как иначе.
Дата: Воскресенье, 04.11.2018, 22:50 | Сообщение # 2
Местный
Offline
  • sllool
  • Репутация: 6
  • Сообщений:76
  • Постоянный
Сообщение отредактировал sllool - Воскресенье, 04.11.2018, 22:51
Дата: Воскресенье, 04.11.2018, 22:56 | Сообщение # 3
  • Ragamafona
  • Репутация:
  • Сообщений:
  • Удаленные
sllool, ну тогда зачем оффтопить.
Дата: Понедельник, 05.11.2018, 00:18 | Сообщение # 4
Профи-ветеран
Offline
  • pro100web
  • Репутация: 60
  • Сообщений:254
  • Разработчик
  • Статус пользователя Life in San Andreas
Ragamafona, так, ты имеешь ввиду sql базу данных или nvualt?
Дата: Понедельник, 05.11.2018, 00:25 | Сообщение # 5
  • OverGame
  • Репутация:
  • Сообщений:
  • Удаленные
Если ты про запрос SQL, тогда присвой ячейке AUTO_INCREMENT (который позволит создавать индекс автоматически).

Код
CREATE TABLE IF NOT EXISTS `table_test` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=22;

В других случая просто при открытие файла считывай максимальное значение и возьми его в переменную (это и будет новый индекс для нового юзера).
Сообщение отредактировал OverGame - Понедельник, 05.11.2018, 00:27
Дата: Понедельник, 05.11.2018, 00:44 | Сообщение # 6
  • Ragamafona
  • Репутация:
  • Сообщений:
  • Удаленные
pro100web, sql.
OverGame, я туго разбераюсь в sql
Дата: Понедельник, 05.11.2018, 00:59 | Сообщение # 7
  • OverGame
  • Репутация:
  • Сообщений:
  • Удаленные
Цитата Ragamafona ()
sql

Вот тебе вырезка из WEB Army:
Код
CREATE TABLE IF NOT EXISTS `levels` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) NOT NULL,
  `exp` int(9) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=22;


Создаём таблицу levels (если она еще не создана).
id будет создавать индексы автоматически благодаря AUTO_INCREMENT.
Дата: Понедельник, 05.11.2018, 01:10 | Сообщение # 8
Профи-ветеран
Offline
  • pro100web
  • Репутация: 60
  • Сообщений:254
  • Разработчик
  • Статус пользователя Life in San Andreas
Решение:

Код
CREATE TABLE IF NOT EXISTS `jb_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(40) NOT NULL,
`Pass` varchar(40) NOT NULL,
`Balance` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Как присваивать значение+1 к каждой строке в mysql? (Внутри.)
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)