Tach!
ich habe ein Updateszenario, das ich sehr umständlich programmiert habe.
Auch die Tabellenstruktur scheint mit suboptimal, zumindest in einem Punkt
Szenario:
Tabelle L:
L-ID, ArtTabelle LT:
LT-ID, L-ID, P-IDTabelle LM:
LM-ID, L-ID, LT-ID, Anzahl
Du hast da quasi ein Dreieck drin. Sowohl LT als auch LM haben einen Verweis auf L, aber LM hat auch einen Verweis auf LT. Somit ist bereits LM über LT mit L verbunden und braucht keinen direkten Verweis auf L. Du bekommst Inkonsistenzen in deinen Datenbestand, wenn du LT.L_ID änderst und LM.L_ID nachzuziehen vergisst. Wenn du LM.L_ID streichst, kann dir das nicht mehr passieren. - Oder zeigen etwa miteinander verbundene LT und LM auf unterschiedliche L?
Ich möchte, falls Eintrag in Tabelle LM vorhanden, in der Tabelle LM die Anzahl eines Postens LT.P-ID="ABC" updaten. Aber nur dann, wenn der zugehörige Eintrag in der Tabelle L die Art "XY" hat.
MySQLs UPDATE kennt eine Multi-Table-Variante. Die kann einerseits Daten in mehreren Tabellen ändern, andererseits können die Joins auch nur zum Finden der richtigen Daten in einer Tabelle herangezogen werden.
dedlfix.