Как сохранять информацию о линии, которую он идет удалять в другой таблице с Trigger?

Я имею tablau:

Nombre  ApellidoP  ApellidoM
Juan    Ruiz       Robles
Pedro   Lopez      Lopez
Luis    Diaz       Ruiz

И таблица log_users

id     fecha_delete  Nombre
null   null          null

Кроме того у меня есть следующий Trigger:

       CREATE DEFINER=`root`@`localhost` TRIGGER PRUEBA_BD_TRIGGER

            BEFORE DELETE ON test.tablau 
            FOR EACH ROW 
            BEGIN 
            INSERT INTO test.log_users 
             (fecha_delete,Nombre) VALUES (now(),Nombre); 

        END

Я удаляю реестры tablau так:

delete FROM test.tablau where Nombre = 'Luis';

trigger реализует следующее в таблице log_users:

id     fecha_delete           Nombre
1      2017-01-11 14:49:13    

Поскольку они смогут наблюдать, он не сохраняет поле Nombre удаленной линии, поскольку я могу делать это в Trigger?

3
задан 11.01.2017, 23:45
0 ответов

Используй что-то похожее на это:

CREATE DEFINER=`root`@`localhost` TRIGGER PRUEBA_BD_TRIGGER  
    BEFORE DELETE ON test.tablau 
    FOR EACH ROW 
    BEGIN 
    INSERT INTO test.log_users (fecha_delete,Nombre) VALUES (now(),OLD.Nombre); 
END

С OLD показывается старая стоимость колонны. Для большей информации официальная документация Trigger в MySQL:

http://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html

3
ответ дан 03.12.2019, 17:44
  • 1
    Большое спасибо у тебя есть вся razó n, функционируй совершенно, я думаю, что моя проблема состояла в том, чтобы не исследовать в documentació n чиновник –  12.01.2017, 00:00