Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
4kict Гость
|
Добавлено: Чт Авг 26 2004 02:29 Заголовок сообщения: как узнать id |
|
|
Вопрос касается MySQL.
Есть таблица с автоинкрементом столбца "id", я делаю запись в эту таблицу. Подскажите плиз, как мне узнать под каким id эта запись сохранилась?
Всем спасибо! |
|
Вернуться к началу |
|
|
яф Гость
|
Добавлено: Пт Сен 03 2004 11:19 Заголовок сообщения: |
|
|
insert into t1 values(турым пурым);
select id from t1 where турым пурым = турым пурым |
|
Вернуться к началу |
|
|
Scaramouch
Зарегистрирован: 11.01.2004 Сообщения: 143 Откуда: Столица нашей Родины
|
Добавлено: Пт Сен 03 2004 13:53 Заголовок сообщения: |
|
|
яф писал(а): | insert into t1 values(турым пурым);
select id from t1 where турым пурым = турым пурым |
ЭТО НЕВЕРНО!
Точнее сказать верно только если турым пурым - KEY, что, скорее всего, не так.
Если в пыхе, то есть функция mysql_insert_id()
Только учти, что она возвращает int, то есть не стоит использовать например BIGINT в качестве id
Или же просто SELECT LAST_INSERT_ID() _________________ Ноги - это две лишние руки. |
|
Вернуться к началу |
|
|
Andy-C
Зарегистрирован: 09.12.2003 Сообщения: 73 Откуда: Нальчик
|
Добавлено: Пт Сен 03 2004 17:29 Заголовок сообщения: |
|
|
Завести транзакцию с уровнем изоляции: повторяемое чтение.
Это когда видно только то, что было до транзакции и свои изменения.
После вставки смотреть max(id).
Должно быть так. _________________ До onlina Andrew C. |
|
Вернуться к началу |
|
|
Scaramouch
Зарегистрирован: 11.01.2004 Сообщения: 143 Откуда: Столица нашей Родины
|
Добавлено: Вт Сен 07 2004 09:53 Заголовок сообщения: Re: как узнать id |
|
|
Andy-C
4kict писал(а): | Вопрос касается MySQL. |
Если, конечно, у товарища не стоит четвертый мускул, в чем я сильно сомневаюсь _________________ Ноги - это две лишние руки. |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Вт Сен 07 2004 11:59 Заголовок сообщения: |
|
|
Scaramouch писал(а): | Или же просто SELECT LAST_INSERT_ID()
...
Если, конечно, у товарища не стоит четвертый мускул, в чем я сильно сомневаюсь |
SELECT LAST_INSERT_ID() рулит, а какие тут отличия в 4-ом Мускуле? |
|
Вернуться к началу |
|
|
Scaramouch
Зарегистрирован: 11.01.2004 Сообщения: 143 Откуда: Столица нашей Родины
|
Добавлено: Вт Сен 07 2004 12:45 Заголовок сообщения: |
|
|
Сорри, про 4-ый мускул - это было для Andy-C
Цитата: | Завести транзакцию с уровнем изоляции: повторяемое чтение.
Это когда видно только то, что было до транзакции и свои изменения.
После вставки смотреть max(id).
Должно быть так. |
В третьем нет никаких транзакций
А конечно, что касается LAST_INSERT_ID(), тут никаких отличий нет _________________ Ноги - это две лишние руки. |
|
Вернуться к началу |
|
|
XYNXYZ Гость
|
Добавлено: Сб Сен 18 2004 13:32 Заголовок сообщения: mysql_insert_id |
|
|
У меня вопрос по работе этой функции.
В мануале сказано что она "Возвращает ID, сгенерированный при последнем INSERT-запросе" к базе..
А если к базе обращается куча юзеров? Где гарантия что в данный момент времени никто больше не использует insert?
Можно блокировать таблицу предварительно, но это мало что дает.
Кто знает как покорректней решить проблему? |
|
Вернуться к началу |
|
|
|