Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Updateowanie po dacie
Bondar91
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 16.01.2014

Ostrzeżenie: (0%)
-----


Witam,

chciałbym updateować wiersz w tabeli po najmniejszej dacie jednak nie za bardzo mi to działa:

  1. 'UPDATE magazyn SET ilosc = ilosc - '.$ilosc. ' WHERE id =' . $produkt_id . 'AND MIN(data)'


Co robię nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


  1. ... AND min(DATA)=DATA
?

Ten post edytował redeemer 22.06.2015, 12:45:35
Go to the top of the page
+Quote Post
kartin
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


Cytat(redeemer @ 22.06.2015, 13:44:51 ) *
  1. ... AND min(DATA)=DATA
?
Powyższe też jest błędne.

Masz błędy składni. Funkcji agregujących nie można używać w ten sposób i nie masz spacji przed AND. Poza tym data to zarezerwowane słowo kluczowe.
Możesz zrobić to np. tak:
  1. UPDATE magazyn
  2. SET ilosc = ilosc - '.$ilosc. '
  3. WHERE id = ' . $produkt_id . ' AND `data` = (SELECT MIN(m1.`data`) FROM magazyn m1 WHERE m1.id = ' . $produkt_id . ')'




Ten post edytował kartin 22.06.2015, 12:54:03
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(kartin @ 22.06.2015, 13:50:24 ) *
Masz błędy składni. Funkcji agregujących nie można używać w ten sposób i nie masz spacji przed AND. Poza tym data to zarezerwowane słowo kluczowe.
Tak, zgoda tylko z funkcją agregującą. To że DATA to słowo kluczowe, wcale nie oznacza, że nie można go wykorzystać w tym kontekscie (to nie DATE) - sprawdź sam.

@Bondar91:
Spróbój tak:
  1. UPDATE magazyn SET ... WHERE id = .. ORDER BY DATA ASC LIMIT 1


Ten post edytował redeemer 22.06.2015, 13:23:53
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 20:04