Kezdőoldal » Számítástechnika » Programozás » Mi a probléma ezzel?

Mi a probléma ezzel?

Figyelt kérdés

Még annyira nagyon nem vágom az SQL-t szóval aki tud segítsen.

Ezt szeretném belerakni egy triggerbe.


UPDATE configs SET globid=globid+1;

UPDATE logs SET uid=(SELECT globid FROM configs) WHERE id=(SELECT LAST_INSERT_ID());

Ez egy triggerbe van ami a logs táblát figyeli mikor INSERT-elnek bele és ha INSERT lefut akkor a configs táblában a globid számát megnöveli eggyel majd ezt a logs táblában az INSERTelt sorba be UPDATEli az uid oszlopba.


Ezt a hibát kapom:

A MySQL mondta: #1064 - A Szintaktikai hiba a 'UPDATE logs SET uid=(SELECT globid FROM configs) WHERE id=(SELECT LAST_INSERT_ID'-hez kozeli a 2 sorban



2017. aug. 8. 17:22
 1/5 sharkxxx ***** válasza:

Nem használhatod az "UPDATE logs" parancsot abban a triggerben amelyik az "INSERT INTO logs" parancsra hívódik meg, mert így végtelen ciklus keletkezne. Mivel az "INSERT INTO" parancs is igazából "UPDATE" parancs.


Itt van a hibaüzenet, amit nekem írt ki, amikor kiadtam az "INSERT INTO logs" parancsot:

#1442 - Can't update table 'logs' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.


Ezt elég kacifántosan akartad megoldani. Elég lenne, ha csak a logs.uid tipusát átállítanád "AUTO_INCREMENT"-re.

2017. aug. 8. 19:37
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
61%

"Ezt elég kacifántosan akartad megoldani. Elég lenne, ha csak a logs.uid tipusát átállítanád "AUTO_INCREMENT"-re."

Tipikus példája annak, amikor valaki lusta normálisan megtanulni valamit, vagy csak elolvasni a dokumentációt és hekkel, hekkel, hekkel.

Aztán az ember meg csak fogja a fejét, hogy a katyvaszt, amit összehoztak két hét alatt meg lehet írni 3 sorban.

2017. aug. 8. 19:55
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
De szeretnék egy globális ID-t is nem csak egy AUTO INCREMENT id-t
2017. aug. 9. 07:25
 4/5 A kérdező kommentje:
Illetve az INSERT INTO nem a triggerbe lenne hanem csak egy példának írtam, hogy ha az fut le.
2017. aug. 9. 07:30
 5/5 anonim ***** válasza:

"De szeretnék egy globális ID-t is nem csak egy AUTO INCREMENT id-t"

Már csak azt kénw kitalálni, hogy minek akarsz beleölni valamibe rengeteg időt, aminek az égvilágon semmi értelme.

2017. aug. 9. 07:42
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!