Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: LIMIT выбрать последние записи

Сообщения:  [1-10]   [11-16] 

 
 автор: sl1p   (02.09.2008 в 10:15)   письмо автору
 
   для: ronin80   (02.09.2008 в 10:08)
 

угу я так подумал что пока не надо, потом закончу попробую уже норм запросы..
а пока воспользовался по твоему примеру выше:

$limitcount = mysql_result(mysql_query("SELECT COUNT(*) FROM chat"),0) - _CHAT_ROWS;
if($limitcount < 0)$limitcount = 0;
mysql_query("DELETE FROM chat ORDER BY id ASC LIMIT $limitcount");

вот так всё ок, спасибо ещё раз :)

  Ответить  
 
 автор: ronin80   (02.09.2008 в 10:08)   письмо автору
 
   для: sl1p   (02.09.2008 в 10:02)
 

>ну щас попробую 6.0.6 поставить))

ну если у тебя не рабочая база а тестовая/учебная то можешь конечно, но если рабочая то флаг тебе в руки :)

главное не забудь:

Note: It is good practice to back up your data before installing any new version of software. Although MySQL has done its best to ensure a high level of quality, you should protect your data by making a backup.

  Ответить  
 
 автор: sl1p   (02.09.2008 в 10:02)   письмо автору
 
   для: ronin80   (02.09.2008 в 09:59)
 

так 5.0 и стоит )

хм.. а чё за траблы?..
вдруг потребуется потом чтонить "новое" забадяжить так сказать)

ну щас попробую 6.0.6 поставить))

  Ответить  
 
 автор: ronin80   (02.09.2008 в 09:59)   письмо автору
 
   для: sl1p   (02.09.2008 в 09:52)
 

5.1 не рекомендую скачивать, сам намучался с ним, пришлось откатывать до 5.0, так что 5.0 (последнюю версию) можешь качать смело

  Ответить  
 
 автор: ronin80   (02.09.2008 в 09:57)   письмо автору
 
   для: sl1p   (02.09.2008 в 09:52)
 

в общем можно ещё такой вариант попробовать (я конечно не силён в php)

необходимо сначала подсчитать количество строк в таблице:

SELECT count(*) FROM tbl

передать это значение в переменную, а затем выполнить удаление таким образом:

DELETE FROM tbl
ORDER BY time ASC
LIMIT (вот_здесь_значение_переменной-количество_строк_которое_необходимо_оставить);

причём запрос нужно сформировать программно, чтобы на сервере посылалася запрос с подставленным значением переменной

пытался подставить вместо числа в LIMIT переменную, не хочет, так что надо формировать запрос программно

  Ответить  
 
 автор: sl1p   (02.09.2008 в 09:52)   письмо автору
 
   для: sl1p   (02.09.2008 в 09:49)
 

мне интересно как она палит эту ошибку если версия старая а разработчики ещё не знали что они туда добавлять будут) а если знали то почему не добавили))

щас попробую новую поставить, посмотрим)

был бы рад ещё узнать что тут качать
xD
http://dev.mysql.com/downloads/mysql/5.1.html

зы. и что значит alpha версия? ато испугала маленько 6.0.6-alpha

  Ответить  
 
 автор: sl1p   (02.09.2008 в 09:49)   письмо автору
 
   для: ronin80   (02.09.2008 в 09:48)
 

шо это за бред такой О_о...
может оно шутит)

  Ответить  
 
 автор: ronin80   (02.09.2008 в 09:48)   письмо автору
 
   для: sl1p   (02.09.2008 в 09:44)
 

блин, у меня 5.1.11 тоже не хочет (

  Ответить  
 
 автор: sl1p   (02.09.2008 в 09:44)   письмо автору
 
   для: ronin80   (02.09.2008 в 09:21)
 

рыдательная ошибка какаято О_о...

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

MySQL client version: 5.0.22

это типа адски старое или как?=\

качал вроде самую новую версию easyPHP...

  Ответить  
 
 автор: ronin80   (02.09.2008 в 09:21)   письмо автору
 
   для: sl1p   (02.09.2008 в 09:17)
 

ну если там есть ключевое поле (например key) то тогда можно так

DELETE FROM `tbl`
WHERE key not in
(SELECT key FROM `tbl` ORDER BY `time` DESC LIMIT 30)

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования