Страница 1 из 1

MySql запрос не работает

Добавлено: 2010-05-25 8:06:05
eem-kz

Код: Выделить всё

select * from Greylist where record_expires>'(unix_timestamp()-(60*60*24))';
Она должна дать старые записи более 24 часа.. Все выдает, не только старые.

Re: MySql запрос не работает

Добавлено: 2010-05-25 8:55:13
hizel
зачем в кавычки суем?

Re: MySql запрос не работает

Добавлено: 2010-05-25 10:25:51
eem-kz
hizel писал(а):зачем в кавычки суем?
это част скрипта. Синтаксически все в норме

Re: MySql запрос не работает

Добавлено: 2010-05-25 10:31:38
hizel
в рамках mysql не верно:

Код: Выделить всё

mysql> select '(unix_timestamp()-(60*60*24))';
+-------------------------------+
| (unix_timestamp()-(60*60*24)) |
+-------------------------------+
| (unix_timestamp()-(60*60*24)) | 
+-------------------------------+
1 row in set (0.00 sec)

Код: Выделить всё

mysql> select (unix_timestamp()-(60*60*24));
+-------------------------------+
| (unix_timestamp()-(60*60*24)) |
+-------------------------------+
|                    1274686252 | 
+-------------------------------+
1 row in set (0.01 sec)
надеюсь record_expires тоже таймштамп?

Re: MySql запрос не работает

Добавлено: 2010-05-25 10:45:44
Gamerman
eem-kz писал(а):
hizel писал(а):зачем в кавычки суем?
это част скрипта. Синтаксически все в норме
Если часть скрипта, то кавычки не там поставлены.

Re: MySql запрос не работает

Добавлено: 2010-05-25 11:29:19
eem-kz
ВОТ:

Код: Выделить всё

mysql -t -uroot --password=Пароль -D exim -e "select * from Greylist where record_expires>'(unix_timestamp()-(`60*60*24`))';" >old-`date '+%d-%m-%Y_%H-%M'`
.txt
она работает, но не по условиям .

Код: Выделить всё

record_expires>'(unix_timestamp()-(`60*60*24`))'
вытащить все записи в таблице

Re: MySql запрос не работает

Добавлено: 2010-06-01 19:12:30
zg
кавычек лишку

Re: MySql запрос не работает

Добавлено: 2010-06-02 6:40:09
eem-kz
Кажется разных версии синтаксис разные
вот рабочий:

Код: Выделить всё

mysql -u root --password=пароль -D exim -e "delete from Greylist where record_expires > unix_timestamp()-(60*60*24) AND pass_count=0;"