[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Autoincrement и блокировка
Страницы: 1, 2
chee
maximka787, читай маны и статейки, в интернете есть инфа, по заголовкам вроде бы то что тебе нужно
http://habrahabr.ru/post/238513/
https://iusoltsev.wordpress.com/2009/06/26/...k_mysql_innodb/
https://dev.mysql.com/doc/refman/5.1/en/inn...t-handling.html

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
maximka787
Прочитал статьи. Спасибо.
Вследствие этого переделал скрипт. Верно ли реализовал?

Добавляю в начало скрипта запрос.

LOCK TABLES `users` WRITE, `tab2` READ, `tab3` READ ... `tabN` READ;

Затем выполняю все мои 10 запросов на генерация новых AI. (10, тк несколько таблиц будут изменены. Тут я упростил)

ALTER TABLE `users` AUTO_INCREMENT = $NEW_AI;


В конце скрипта делаю последний запрос
UNLOCK TABLES;


Верно реализовал?

_____________
..Работает - не трогай!
maximka787
Ну всё... Залип я кароче мужики..
Либо надо отдыхать, либо бросать нафиг кодинг..

Задача была простая. Взять последний id таблицы, добавить к нему + rand(10,30) и сохранить на следующего пользователя. Иными словами, чтобы один юзер зарегился ему был выдан ID. А следующему уже был выдан ID не +1, а +10-30.

Вот и решил, что манипуляции с AI самый верные. Но из-за параноидальной мысли что пока я буду читать последнего ID и генерации нового AI кто-то добавит свою запись и всё полетит нафиг...

Может всё намного проще делается?

_____________
..Работает - не трогай!
waldicom
Почему бы не оставить все эти пляски и не завести отельное поле, которое будет показываться пользователю(что это уже пицоттыщичный пользователь)?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
maximka787
Цитата (waldicom @ 27.07.2015 - 13:59)
Почему бы не оставить все эти пляски и не завести отельное поле, которое будет показываться пользователю(что это уже пицоттыщичный пользователь)?

Идея хороша)) ну да! Можно же генерировать любые числа в видимости, а по факту это подмена ID. Надо обдумать данную схему.

_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.