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

OUTPUT-Klausel in MySQL

  1. Sie könnten einen Trigger erstellen und die benötigten Werte in eine andere Tabelle einfügen.
  2. Ich bin mir nicht sicher, aber - für MYISAM-Tabellen könnten Sie employee sperren Tabelle, wählen Sie Werte aus und fügen Sie sie in eine andere Tabelle ein und aktualisieren und entsperren Sie dann employee Tabelle.

BEARBEITEN:

Ich habe ein Szenario mit InnoDb-Tabelle ausprobiert, es scheint zu funktionieren -

START TRANSACTION;

SELECT * FROM table WHERE id = 1 FOR UPDATE; -- lock rows
-- Or call this select to insert and lock rows
-- INSERT INTO table_output SELECT * FROM table WHERE id = 1 FOR UPDATE;

-- Make modifications
UPDATE table SET column1 = '111' WHERE id = 1;

COMMIT;

SELECT-Anweisung (FOR UPDATE-Klausel)