Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.06.2011, 19:00
warsem вне форума Посмотреть профиль Отправить личное сообщение для warsem Найти все сообщения от warsem
  № 1  
Ответить с цитированием
warsem
 
Аватар для warsem

Регистрация: May 2011
Сообщений: 72
По умолчанию MySQL INSERT auto_increment

Здраствуйте.
Столкнулся с такой проблемой:
имеетца таблица следующего формата:
id int(4) key primary auto_increment
name varchar(8)
и т.д.

и вторая таблица:
hero1 int(4)
hero2 int(4)

ну всё примерно, для наглядности ток. таблицы на деле более громоздкие.
Так вот добавив в первую таблицу данные INSERT INTO геренерируетца идентефикатор ID, и дальше нужно добавить во вторую таблицу этот ID. Нагуглить удалось лишь SELECT LAST_INSERT_ID().

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

Подскажите как быть.

Старый 06.06.2011, 19:32
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 2  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
читаем доки, они рулез: "For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis"
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 06.06.2011, 19:42
warsem вне форума Посмотреть профиль Отправить личное сообщение для warsem Найти все сообщения от warsem
  № 3  
Ответить с цитированием
warsem
 
Аватар для warsem

Регистрация: May 2011
Сообщений: 72
эм... ну то, что я полез на форум говорит уже о том, что я не нашел ответа в доках.

повторюсь для тех, что читает вопрос, а не копипастит, то что и так известно:
опосаюсь, что в промежуток времени межну командами INSERT INTO и LAST_INSERT_ID втиснетца еще один юзер с обращением к базе INSERT INTO. Вопрос:
* можно ли получить ID сразу при добавлении
* можно ли как то приостановить получение запросов в базу на момент добавления?

Старый 06.06.2011, 19:45
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 4  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Повторю для тех, кто читая ответ не вдается в смысл. "For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis"

Как Вы себе представляете два PHP-скрипта, которые одновременно исполняются и используют одно и то же соединение с БД?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 06.06.2011, 19:51
warsem вне форума Посмотреть профиль Отправить личное сообщение для warsem Найти все сообщения от warsem
  № 5  
Ответить с цитированием
warsem
 
Аватар для warsem

Регистрация: May 2011
Сообщений: 72
я настолько английский не бум-бум. А в русскоязычных про одно соединение ни чего не видел. Смысл понятен. Спасибо за ответ и сорри за дерзость.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.