Guten Abend zusammen,
ich möchte mein Projekt ausbauen und momentan steht das Problem an, was meine Anwendung macht, wenn mehrere Benutzer an einer Tabelle arbeiten. (MySQL InnoDB, PHP 5)
Grob dargestellt:
In der Tabelle sind viele einzelne Einträge, und jeder Benutzer würde jeweils an einem zur Zeit arbeiten. Bisher bestand nicht die Notwendigkeit, zu prüfen ob der Datensatz den man nun bearbeiten möchte bereits von jemand anderem bearbeitet wird. Dies soll/muss jetzt geändert werden.
Mein Ziel ist also, bevor ein Nutzer einen Datensatz bearbeiten kann, zu prüfen ob jemand anders gerade daran arbeitet, und falls das der Fall ist, die Möglichkeit der Bearbeitung zu verwehren bis der erste Benutzer fertig ist.
Ich hatte daher die Möglichkeit bei InnoDB gefunden, wo es möglich ist, mit InnoDB auch einzelne Zeilen in einer Tabelle zu sperren, wie dies sonst mit "Lock Tables" für Tabellen möglich ist.
Da ich mich damit noch nicht umgehend befassen konnte und auch nicht weiß, ob das nötig ist, wollte ich vorher Fragen wie sinnvoll das für einen solchen Anwendungsbereich ist. Oder ob man in der Anwendung selber verwalten sollte, welcher Benutzer gerade was bearbeitet oder ob es gar andere Möglichkeiten gibt?
Wäre nett wenn mir jemand von euch einen Denkanstoß liefern könnte oder von seinen Erfahrungen (kurz) Berichten könnte bezüglich dieser Herausforderung.
Vielen Dank und eine schönes Wochenende,
FeGm
ich möchte mein Projekt ausbauen und momentan steht das Problem an, was meine Anwendung macht, wenn mehrere Benutzer an einer Tabelle arbeiten. (MySQL InnoDB, PHP 5)
Grob dargestellt:
In der Tabelle sind viele einzelne Einträge, und jeder Benutzer würde jeweils an einem zur Zeit arbeiten. Bisher bestand nicht die Notwendigkeit, zu prüfen ob der Datensatz den man nun bearbeiten möchte bereits von jemand anderem bearbeitet wird. Dies soll/muss jetzt geändert werden.
Mein Ziel ist also, bevor ein Nutzer einen Datensatz bearbeiten kann, zu prüfen ob jemand anders gerade daran arbeitet, und falls das der Fall ist, die Möglichkeit der Bearbeitung zu verwehren bis der erste Benutzer fertig ist.
Ich hatte daher die Möglichkeit bei InnoDB gefunden, wo es möglich ist, mit InnoDB auch einzelne Zeilen in einer Tabelle zu sperren, wie dies sonst mit "Lock Tables" für Tabellen möglich ist.
Da ich mich damit noch nicht umgehend befassen konnte und auch nicht weiß, ob das nötig ist, wollte ich vorher Fragen wie sinnvoll das für einen solchen Anwendungsbereich ist. Oder ob man in der Anwendung selber verwalten sollte, welcher Benutzer gerade was bearbeitet oder ob es gar andere Möglichkeiten gibt?
Wäre nett wenn mir jemand von euch einen Denkanstoß liefern könnte oder von seinen Erfahrungen (kurz) Berichten könnte bezüglich dieser Herausforderung.
Vielen Dank und eine schönes Wochenende,
FeGm
Kommentar