Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Возвращение значение автоинкремента через lastInserId / 8 сообщений из 8, страница 1 из 1
29.03.2015, 21:09:45
    #38920526
unnomen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
Делаю сложный запрос, требуется справка, для общего багажа знаний)

Есть метод lastInsertId, который возвращает число, которое MySQL назначил последней добавленной записи с помощью автоинкремента. Т.е. возвращает идентификатор только что добавленной записи (конечно же, если поле с AUTO_INCREMENT существует).

Такой вопрос:

Если добавляются НЕСКОЛЬ записей НЕСКОЛЬКИМИ пользователями (представим) в одно и то же время, как можно быть уверенным в том, что lastInsrtId вернёт мне именно тот id записи, КОТОРУЮ ДОБАВИЛ Я, а не кто-то.

Объясните пожалуйста принцип работы данного метода, если это имеет место быть. На официальном сайт PHP прочитал информацию, что имеется параметр "name". Является ли этот параметр указанием того, какую строку добавил именно я, а не кто иной, Или зачем он именно нужен?

Информацию об этом методе нахожу только на английском языке. Плохо его знаю. Заранее извиняюсь, если что-то не так.
...
Рейтинг: 0 / 0
29.03.2015, 21:19:06
    #38920531
unnomen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
Вот к примеру код:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
try
$sql = 'INSERT INTO people SET firstname = :firstname,  lastname = :lastname';
$s = $pdo->prepare($sql);
$s->bindValue(':firstname', $_POST['firstname']);
$s->bindValue(':lastname', $_POST['lastname']);
$s->execute();
}
catch (Exception $er)
{
$error = 'Ошибка' . $er->getMessage();
include 'error.php';
exit();
}
$result = $pdo->lastInsertId();
...
Рейтинг: 0 / 0
30.03.2015, 04:57:58
    #38920595
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
unnomenЕсли добавляются НЕСКОЛЬ записей НЕСКОЛЬКИМИ пользователями (представим) в одно и то же время, как можно быть уверенным в том , что lastInsrtId вернёт мне именно тот id записи, КОТОРУЮ ДОБАВИЛ Я, а не кто-то.Ну если вы официальной документации не верите, то хрен знает, что вас может убедить...
...
Рейтинг: 0 / 0
30.03.2015, 09:03:14
    #38920658
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
unnomen,

механизм там простой, последний id сохраняется в контексте сессии работы с бд при вставке, а потом оттуда выбирается этой функцией.
...
Рейтинг: 0 / 0
30.03.2015, 09:24:56
    #38920685
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
MasterZivпоследний idТочнее первый id последнего инсерта.
...
Рейтинг: 0 / 0
10.04.2015, 20:37:42
    #38933449
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
unnomen,
вставляй так:

insert into TABLE(Kod, Pole1) select max(Kod) Kod, 123 as Pole2 from TABLE

Просто и не надо ничего знать
...
Рейтинг: 0 / 0
11.04.2015, 07:15:11
    #38933646
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
FAMи не надо ничего знатьв десятку
...
Рейтинг: 0 / 0
11.04.2015, 11:22:50
    #38933717
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение значение автоинкремента через lastInserId
tanglirFAMи не надо ничего знатьв десятку да уж :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Возвращение значение автоинкремента через lastInserId / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]