Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - Trigger

Čaute, prosim o radu, vytváram trigger, kde chcem aby keď upravím v tabuľke objednavka položku navazene, aby mi automaticky vyplnilo tabulku predaj a zároveň vymazalo záznam v tabuľke objednavka tu je trigger :

CREATE TRIGGER `vymaz` after UPDATE ON `objednavka` FOR EACH ROW

begin
INSERT INTO PREDAJ (ID, DEN, DEALER, ZAKAZNIK, navazene);
SELECT ID, CURRENT_DATE(), DEALER, ZAKAZNIK, navazene
FROM OBJEDNAVKA
WHERE navazene>0;

DELETE FROM OBJEDNAVKA WHERE navazene>0;

a tu odpoveď phpminadminu:

CREATE TRIGGER `vymaz`after UPDATE ON `objednavka` FOR EACH ROW

begin
INSERT INTO PREDAJ (ID, DEN, DEALER, ZAKAZNIK,´´, navazene)

Chyba v dotaze: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

SELECT ID, CURRENT_DATE(), DEALER, ZAKAZNIK, navazene
FROM OBJEDNAVKA
WHERE navazene>0

Žiadne riadky.

DELETE FROM OBJEDNAVKA WHERE navazene>0

Príkaz prebehol v poriadku bolo zmenených 0 záznamov.:-[

Kde mám chybu ?

Změna předmětu, původně: Trigger (host)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
aka je verzia mysql? myslim, ze triggery su az od verzie 5.0 v column liste pri insert into mas stl…
wam_Spider007 28.06.2009 10:26
wam_Spider007
A ešte jedna vec, nechápem to Tvoje upozornenie, veď čo som sa dočital o funkcii trigger, tak by mal… poslední
klobasa-irca 29.06.2009 12:38
klobasa-irca

aka je verzia mysql? myslim, ze triggery su az od verzie 5.0

v column liste pri insert into mas stlpec ('')...to je ako co?

toto

INSERT INTO PREDAJ (ID, DEN, DEALER, ZAKAZNIK,´´, navazene)

zmen

INSERT INTO PREDAJ (ID, DEN, DEALER, ZAKAZNIK, navazene)

-- upozornenie: trigger v MySQL ma jednu nepeknu vlastnost. Ak mas trigger ON UPDATE nad nejakou tabulkou XYZ, tak v nom nemozes pracovat (napr. mazat) s riadkom z tabulky XYZ, ktoreho update vyvolal trigger. Tento riadok je locknuty.

A ešte jedna vec, nechápem to Tvoje upozornenie, veď čo som sa dočital o funkcii trigger, tak by mala jedným príkazom upraviť (update), vložiť (insert) a aj vymazať (delete) data v tabuľkách ktoré jej určim, ale asi som to zle pochopil, ja potrebujem jedným príkazom v tabuľke objednavka upraviť položku navazene, vlozit niektoré údaje z tabuľky objednavka do tabuľky predaj a následne vymazať riadok z tabuľky objednavka ako by to nejlepšie išlo ?

Zpět do poradny Odpovědět na původní otázku Nahoru