![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pewien problem z modyfikacją pewnego dodatku w wordpressie. Potrzebuję zrobić tak, że każdy rekord kolumny 'expiry' będzie zawierał w sobie '2020'. Za każdym razem kiedy się doda nowy rekord, stała wartość tej kolumny. Najłatwiej będzie jak po prostu baza danych zrobi to za mnie i nie będę musiał dodawać rekordu w formularzu. Ten post edytował benzulli 27.08.2014, 11:37:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@mar1aczi - do tego nie może użyć triggera, dlatego że triggerem nie zmodyfikujesz tabeli na której aktualnie operujesz.
Cytat Within a stored function or trigger, it is not permitted to modify a table that is already being used (for reading or writing) by the statement that invoked the function or trigger. http://dev.mysql.com/doc/refman/5.0/en/sto...strictions.html Chyba że są to operacje na dwóch różnych tabelach, ale o tym dowiemy się dopiero w momencie kiedy autor tematu napisz dokładniej o co mu chodzi. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
(IMG:http://i.imgur.com/rQo1nZB.png)
(IMG:http://i.imgur.com/M1E5nLg.png) Struktura tabeli i tabela chcę, żeby w kolumnie expiry zawsze była ta sama data (dajmy na to 2015-07-26 00:00:00)[nawet jeśli dodam nowe rekordy]. Ten post edytował benzulli 27.08.2014, 18:54:16 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 18 Dołączył: 30.01.2014 Skąd: <?=$_GET['city']?> Ostrzeżenie: (0%) ![]() ![]() |
Cytat Struktura tabeli i tabela chcę, żeby w kolumnie expiry zawsze była ta sama data (dajmy na to 2015-07-26 00:00:00)[nawet jeśli dodam nowe rekordy].
I pomijaj w insert/update kolumne expiry jak nie ma sie zmieniac. Ten post edytował ZaXaZ 27.08.2014, 19:03:27 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak jak myślałem z tym triggerem. A co do twojego problemu, jeżeli w żaden sposób nie nadajesz tej daty z poziomu skryptu, a chyba tak nie robisz, bo widzę tam zera. To możesz ustawić wartość domyślną (default) dla tej kolumny.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
A po co ci kolumna z wartością, skoro to jest wartość stała?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
To jest zbugowany plugin do wordpressa, na którym jest już cały sklepik i muszę po prostu przerobić tak, aby kolejny - zbugowany i niesupportowany plugin - wp e-commerce coupon codes - mógł działać. Jednym słowym kupony na zniżki działają tylko wtedy, kiedy jest podana data unieważnienia kuponu, a te z kolei są generowane z automatu i data jest zawsze 0000-00-00 00:00:00 (coś takiego) to muszę w bazie dać jakąś stałą wartość z przyszłą datą.
P.S. Default nie działa. Widzę, że chyba nie będzie innej opcji jak po prostu grzebanie w tych plikach, czasochłonne, ale w końcu pewno dotrę do tego zapytania. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zadziała, tylko zwróć uwagę że to jest datetime, czyli musisz podać date i czas, w twoim przypadku będzie to
Kod 2020-01-01 00:00:00
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
by_ikar, robiłem tak jak mówisz wcześniej i niestety nie działa.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Więc ta data nieprawidłowa jest przesyłana na poziomie skryptu, cóż, nie pozostaje ci nic innego jak sprawdzić ten skrypt. Data jest niepoprawna, stąd ustawiana jest na same zera.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Obszedłem trochę problem i zrobiłem w cronie (co 5 sekund) coś takiego:
Moje pytanie brzmi następująco: jak powinno brzmieć zapytanie, które zaktualizauje mi wszystkie te kolumny 'expiry', które mają wartość "0000-00-00 00:00:00" na "2018-08-25 00:00:00"? |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
...where expiry='0000-00-00 00:00:00'
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki mistrzu, do zamknięcia (IMG:style_emoticons/default/smile.gif)
Ten post edytował benzulli 27.08.2014, 20:24:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 06:04 |