PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
new01
Отправлено: 10 Августа, 2011 - 18:37:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Вот у меня идёт запись в таблицу.
PHP:
скопировать код в буфер обмена
  1. INSERT INTO Nametemas (id,Nametema,Nameuser,Data) VALUES('','$NameTema','$Nameuser','$Data')

Как с мне можно сразу получить id этой записи? Nametema,Nameuser,Data в таблице могут повторяться.


-----
new01
 
 Top
EuGen Администратор
Отправлено: 10 Августа, 2011 - 18:45:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9097
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




mysql_insert_id - в PHP

SELECT LAST_INSERT_ID() - в MySQL


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Августа, 2011 - 19:00:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10378
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen пишет:
SELECT LAST_INSERT_ID()

EuGen прошу уточнить - это действует только в рамках текущего запроса или для любой таблицы такой запрос проканает? Это хранится где-то в системных таблицах мускуля?
----
В любом случае: mysql_insert_id скорее всего уже содержит автоматически запрошенный результат во время инсерта (ну не делает же оно еще один запрос), но к таблице на которую последний раз ссылались. Т.е. пул памяти только для одного последнего значения.
----
 
 Top
EuGen Администратор
Отправлено: 10 Августа, 2011 - 21:21:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9097
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




0. LAST_INSERT_ID() вернет последнее сгенерированное значение колонки с атрибутом AUTO_INCREMENT
Таким образом, если сделать 2 запроса INSERT, каждый из которых затрагивает такую колонку (наважно какой таблицы) то будет возвращено последнее.
1. Если таблица содержит определение INSERT ... ON DUPLICATE KEY UPDATE то значение LAST_INSERT_ID() будет незначащим (то есть не будет соответствовать действительности)
2. Если использовать INSERT IGNORE и строка будет проигнорирована из-за накладываемых ограничение по ключу, LAST_INSERT_ID() вернет 0
3. Если использовать множественный INSERT, то LAST_INSERT_ID() вернет значение только для первой строки


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Августа, 2011 - 21:44:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 10378
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen тоесть нихрена там не логируется... Жаль, была мысль Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB