Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > последнее поле


Автор: Xpan!teL 4.11.2005, 03:04
существует таблица, в ней два поля id|text выбераю данные, как после выборки узнать какое последнее id было выбрано ??

Автор: Mal Hack 4.11.2005, 03:23
А что мешает получить MAX( `id` ) в запросе?

Автор: Xpan!teL 4.11.2005, 05:32
Цитата(Mal @ 4.11.2005, 03:23)
А что мешает получить MAX( `id` ) в запросе?

предупреждаю сразу я начинающий smile
если я правильно понял то вы предлогаете определить максимальное значение столбца. а если в таблице пару тысяч полей, не будет ли это слишком нагружать бд ?
ps делаю чат =) поэтому каждые 15 сек. подсчитывать максимальное значение я думаю будет проблематично. я прав ?

Автор: Mal Hack 4.11.2005, 14:21
Цитата(Xpan @ 4.11.2005, 06:32)
ps делаю чат =) поэтому каждые 15 сек. подсчитывать максимальное значение я думаю будет проблематично. я прав ?

А тогда зачем тебе вообще надо выбирать ID ??

Вообще чаты лучше делать на файлах...
Работаешь с файлом. Если у него размер более 50 К, к примеру, а на вывод в поток надо 20, то 30 К вырезаешь в другой файл. Ну и где-то раз в полчаса скриптом из этих (архивных) файлов (или одного) скидываешь инфу в БД

Автор: Xpan!teL 7.11.2005, 03:10
Цитата(Mal @ 4.11.2005, 14:21)
Цитата(Xpan @ 4.11.2005, 06:32)
ps делаю чат =) поэтому каждые 15 сек. подсчитывать максимальное значение я думаю будет проблематично. я прав ?

А тогда зачем тебе вообще надо выбирать ID ??

а что здесь такого ? я хочу не повремени выберать сообщение а по id

Автор: Mal Hack 7.11.2005, 08:54
ID обычно для служебных целей используют...

Автор: Xpan!teL 7.11.2005, 08:57
а мне нужно не для служебных. smile

Автор: Mal Hack 7.11.2005, 14:44
Цитата(Xpan @ 7.11.2005, 09:57)
а мне нужно не для служебных. smile

Это несколько не правильно, на самом деле.

Автор: Xpan!teL 8.11.2005, 02:26
Цитата
Это несколько не правильно, на самом деле.

может, но мне надо на данный момент именно по id.

Цитата
ID обычно для служебных целей используют...

и что это за такие служебные цели ?

Автор: Mal Hack 8.11.2005, 10:47
Цитата(Xpan @ 8.11.2005, 03:26)
и что это за такие служебные цели ?

Идентификация записи

Автор: R.M. 9.11.2005, 02:00
Xpan!teL

Я так последний id ищу

Код

$sel = mysql_query("SELECT * FROM users ORDER BY id DESC");
$row = mysql_fetch_array($sel);
echo "Последний id - ".$row['id']."";

Автор: Mal Hack 10.11.2005, 00:34
Цитата
Я так последний id ищу

Это далеко НЕ оптимальное решение... Не зря MAX придумали.

Автор: R.M. 11.11.2005, 02:35
Mal Hack

Но ведь если как сказано выше записей будет очень много то работать быстрее ИМХО будет мой вариант особенно если приписать ЛИМИТ 1 хотя не я мусккл делал и не мне об этом спорить smile

Автор: AntonioBanderaz 11.11.2005, 11:25
Цитата
Я так последний id ищу
Код

$sel = mysql_query("SELECT * FROM users ORDER BY id DESC");    
$row = mysql_fetch_array($sel);    
echo "Последний id - ".$row['id']."";


Тогда уж
Код

$sel = mysql_query("SELECT users.id FROM users ORDER BY users.id DESC LIMIT 1");
$id = mysql_result($sel,'id');

Добавлено @ 11:29
Если тебе после вставки надо id узнать, то самое оптимальное будет mysql_insert_id();

Автор: Mal Hack 11.11.2005, 18:41
Цитата
Но ведь если как сказано выше записей будет очень много то работать быстрее ИМХО будет мой вариант особенно если приписать ЛИМИТ 1 хотя не я мусккл делал и не мне об этом спорить smile

Никакого быстрее тут не будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)