Prawidłowa składnia do zamiany daty w tabeli

0

Witam,
jestem nowy tutaj.
Będę wdzięczny za podanie prawidłowej SQL-owej składni dla podmiany daty w
tabeli "ogl_announcement_payments" (zawiera pola: pay_ident, pay_type, pay_expire)

potrzebuję hurtowo podmienić np. datę '2021-02-11' w polu "pay_expire" ale TYLKO dla pola "pay_type" = VIEW i TYLKO dla "pay_ident" = '0J0135Xwg14465D0JYkQy' na datę 2020-02-15
składnia dla pierwszego polecenia i następnych gdzie zmienia się jedynie "pay_ident"

screenshot-20200212111902.png

2

Coś takiego:

UPDATE ogl_announcement_payments
SET pay_expire = '2020-02-15'
WHERE pay_type = 'VIEW'
AND pay_ident = '0J0135Xwg14465D0JYkQy'

Sprawdził bym najpierw na 1 rekordzie - czyli dodaj jeszcze AND pay_Id = XXX (gdzie XXX to unikalne ID w rekordzie zakładam) na końcu.

2

Do tego co napisał @BlackBad dodam, że warto uwzględnić drobne aspekty w postaci:

  1. typu danych dla pay_expire (data jako VARCHAR, data jako DATE)
  2. locale względem, którego data jest formatowana (YYYY/MM/DD, MM.DD.YYYY etc.)

Czasem klient bazodanowy może mieć ustawione locale, które oczekuje daty w postaci MM.DD.YYYY, a gdy w stringu pojawi się YYYY-MM-DD, to takie polecenie update się wyłoży w najlepszym wypadku, w nieco gorszym ustawi złą datę.

1

Powtarzam. Ale czemu nie zadziała ? Masz jakiś błąd ? Nie siedzę w MySQL ... także podpowiedz w czym rzecz. Ewentualnie sprawdź co napisałem w komentarzu (";" albo "GO").

0
BlackBad napisał(a):

Coś takiego:

UPDATE ogl_announcement_payments
SET pay_expire = '2020-02-15'
WHERE pay_type = 'VIEW'
AND pay_ident = '0J0135Xwg14465D0JYkQy'

Sprawdził bym najpierw na 1 rekordzie - czyli dodaj jeszcze AND pay_Id = XXX (gdzie XXX to unikalne ID w rekordzie zakładam) na końcu.

Dzięki, problem rozwiązany - wystarczył ";" na końcu i działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1