sql >> Base de Datos >  >> RDS >> Mysql

Cláusula OUTPUT en MySQL

  1. Puede crear un disparador e insertar los valores que necesita en otra tabla.
  2. No estoy seguro, pero para las tablas MYISAM podría bloquear employee seleccione e inserte valores en otra tabla y luego actualice y desbloquee employee mesa.

EDITAR:

Probé un escenario con la tabla InnoDb, parece que funciona -

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;

sentencia SELECT (cláusula FOR UPDATE)