Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man weiß, wann mysql INSERT fertig ist (mehrere Verbindungen)

Erste Frage, warum haben Sie zwei verschiedene Verbindungen für denselben Benutzer?

Wenn Sie wirklich zwei Sitzungen behalten möchten, können Sie mit Tabellensperre .

Verbindung 1, senden Sie diese SQL-Anweisung:

LOCK TABLE mytable WRITE; -- mytable is know locked, nobody else can access it
INSERT xyz; -- insert data in database
UNLOCK TABLES; -- unlock the table, the rows ARE inserted

Verbindung 2 :

SELECT [looking for xyz]

Wenn die Verbindung 2 versucht, auf die Datenbank zuzugreifen, bevor die Verbindung 1 die Tabelle entsperrt hat, muss die Verbindung warten. Wenn die Tabelle entsperrt ist, wird die Zeile eingefügt, sodass die Auswahl das gewünschte Ergebnis zurückgibt.