Mysql
 sql >> Base de données >  >> RDS >> Mysql

Clause OUTPUT dans MySQL

  1. Vous pouvez créer un déclencheur et insérer les valeurs dont vous avez besoin dans un autre tableau.
  2. Je ne suis pas sûr, mais - pour les tables MYISAM, vous pouvez verrouiller employee table, sélectionnez et insérez des valeurs dans une autre table, puis mettez à jour et déverrouillez employee tableau.

MODIF :

J'ai essayé un scénario avec la table InnoDb, il semble que cela fonctionne -

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;

instruction SELECT (clause FOR UPDATE)