Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Cláusula OUTPUT no MySQL

  1. Você pode criar um gatilho e inserir os valores necessários em outra tabela.
  2. Não tenho certeza, mas - para tabelas MYISAM, você pode bloquear employee tabela, selecione e insira valores em outra tabela e, em seguida, atualize e desbloqueie employee tabela.

EDITAR:

Eu tentei um cenário com a tabela 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;

Instrução SELECT (cláusula FOR UPDATE)