heinetz: PHP-Login / MySQL-Statement

Beitrag lesen

Hi,

konnte ich das wissen? Nein, Du hattest es vorher nicht gesagt.

Ja, das ist scheinbar mein grundsätzliches Kommunikationsproblem,
dass ich in diesem Forum immer habe. Ich stehe vor einer
gewissen Aufgabe, die ich hier formuliere und die Diskussion führt
dann dazu, dass die Aufgabe an sich diskutiert wird, was mich der
Lösung nicht näher bringt. Dafür führt es aber hin und wieder zu
neuen Erkenntnissen, wie z.B. Deinen durchaus wertvollen Hinweis
auf nested sets.

mit Joins und 'ner UNION

UNION muss ich mir ansehen.

und noch ein bisschen besser. Um aber wirklich zu sehen, wie's richtig funktioniert, wären noch ein paar Datensätze zusätzlich sinnvoll :-)

Ich habe die, die mir schwieriger erschienen weggelassen.
Aber hier kommen sie ;)

site_id | d0 | d1 | d2 | d3 |                          titles |
--------|----|----|----|----|---------------------------------|
      8 |  0 |  0 |  0 |  0 |                               / |
--------|----|----|----|----|---------------------------------|
      9 |  0 |  1 |  0 |  0 |                        /string9/|

Diese Problem kannst Du zum Beispiel dadurch lösen, dass Du das Ergebnis in eine temporäre Tabelle schreibst und anschließend das Update der structure-Tabelle mit Hilfe der temporären Tabelle vornimmst. Zusätzlich musst Du sicherstellen, dass keine Änderungen zwischen diesen beiden Schritten vorgenommen werden, zum Beispiel durch explizites Sperren der beteiligten Tabellen. (Das versäumt übrigens Dein Beispiel-PHP-Code).

Ist mir klar, dass ich das versäume, das mit der temporären
Tabelle und dem sperren von Tabellen muss ich mir auch ansehen.

Es sollte allerdings nur einmal erforderlich sein, die ganze Tabelle upzudaten. Bei Änderungen in Tabelle content sollten nur die betroffenen Datensätze geändert werden, was in erträglicher Geschwindigkeit erfolgen könnte.

Ich habe bisher immer sämtliche Datensätze geändert, weil ich
nicht mit Gewissheit sagen konnte, welche die betroffenen sind.
Und ich denke, ich werde anhand Deiner Lösung erstmal
ausprobieren alle Datensätze upzudaten und hinterher darüber
nachdenken, welche die betroffenen Datansätze sind.

danke bis hierher und

beste gruesse,
heinetz