![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
W bazie danych jednym z pól tabeli jest DATA. W jaki sposób zrobić, żeby rekordy zostały automatycznie usuwane gdy wartość pola DATA przekroczy prawdziwą date, np. rekord w polu DATA ma wartość 2003-09.13, data ta jest już "historią" więc rekord powiniem zostać automatycznie usunięty.
Wydaje się, że jest to prosta operacja, ale chyba tak nie jest:) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat jeszcze jedno zapytanie dotyczące daty
Tabela taka jak w przykładzie wyżej, tylko tym razem ma wyszukiwać rekordy z datą o 4 więcej niż data dzisiejsza. oj nieladnie. mowiles ze zaintersujesz sie dokumentacja do mysql gdy idzie o operacje na datach i czasie. na poczatku http://www.mysql.com/doc/en/Date_and_time_..._functions.html jest zapytanie bardzo podobne do tego co ty potrzebujesz. wstyd ;p tobie prawdopodobnie jest potrzebne [sql:1:3fd634417e]SELECT * FROM tabela WHERE TO_DAYS(NOW()) - TO_DAYS(data) > 4[/sql:1:3fd634417e] A teraz komenatrz do poprzednich Cytat Zrobiłem takie zapytanie:
data to nazwa kolumny. nie mozesz na niej dokonywac w ten spsoob operacji. zobacz na przyklady date_sub lub date_add w dokumentacji!
[sql:1:3fd634417e] select * from tabela where data(NOW(), INTERVAL 4 DAY) [/sql:1:3fd634417e] próbowałem równeż [sql:1:3fd634417e] select * from tabela where data(NOW() + INTERVAL 4 DAY) [/sql:1:3fd634417e] ale rówenież nie działa. wynik powinnes rowniez do czegos porownac - inaczej zapytanie nie ma sensu. Uwaga: proboj zbudowac dzialajce zapytanie bazujac na tych ktore sa w dokumentacji - twoje pomysly niestety nie sa nawet zgodne z normai jezyka - raczej wiec nie beda dzialac : Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 12:58 |