• Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Как присваивать значение+1 к каждой строке в mysql? (Внутри.)
Как присваивать значение+1 к каждой строке в mysql?
Дата: Воскресенье, 04.11.2018, 20:54 | Сообщение # 1
Бухой Царь
Мастер
Offline
  • Ragamafona
  • Репутация: 54
  • Сообщений:120
  • Скриптер
  • Статус пользователя Кто хочет - ищет возможность, кто не хочет - ищет причину.
Как оптимизировать/написать такой вариант.
Мне нужно чтобы каждый новый игрок номировался, тобиж строка в таблице выглядит так "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
  • Сообщений:73
  • Постоянный
Сообщение отредактировал sllool - Воскресенье, 04.11.2018, 22:51
Дата: Воскресенье, 04.11.2018, 22:56 | Сообщение # 3
Бухой Царь
Мастер
Offline
  • Ragamafona
  • Репутация: 54
  • Сообщений:120
  • Скриптер
  • Статус пользователя Кто хочет - ищет возможность, кто не хочет - ищет причину.
sllool, ну тогда зачем оффтопить.
Дата: Понедельник, 05.11.2018, 00:18 | Сообщение # 4
Мл. Начальник
Профи-ветеран
Offline
  • pro100web
  • Репутация: 53
  • Сообщений:258
  • Скриптер / Модератор
  • Статус пользователя Большой статус
Ragamafona, так, ты имеешь ввиду sql базу данных или nvualt?
Дата: Понедельник, 05.11.2018, 00:25 | Сообщение # 5
Легенда сайта
Мастер
Online
  • OverGame
  • Репутация: 84
  • Сообщений:60
  • Опытный Скриптер
  • Статус пользователя Всё поменялось? Интересно..
Если ты про запрос 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
Бухой Царь
Мастер
Offline
  • Ragamafona
  • Репутация: 54
  • Сообщений:120
  • Скриптер
  • Статус пользователя Кто хочет - ищет возможность, кто не хочет - ищет причину.
pro100web, sql.
OverGame, я туго разбераюсь в sql
Дата: Понедельник, 05.11.2018, 00:59 | Сообщение # 7
Легенда сайта
Мастер
Online
  • OverGame
  • Репутация: 84
  • Сообщений:60
  • Опытный Скриптер
  • Статус пользователя Всё поменялось? Интересно..
Цитата 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
  • Репутация: 53
  • Сообщений:258
  • Скриптер / Модератор
  • Статус пользователя Большой статус
Решение:

Код
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)