Mi a probléma ezzel?
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
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.
"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.
"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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!