更新用户记录时创建日志记录

t1rydlwq  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(243)

我想创造一个 log 表,用于注册用户在我的应用程序上执行的所有事件(创建和更新记录)。
到目前为止我可以在网上注册 log 表是创建记录的用户,但现在我需要为 log 表当用户更新某些内容时,例如:用户mike向员工kyle注册了一个电话的设备(到目前为止还可以),但是用户mike注册了员工kyle返回了该电话(日志现在应该注册更新,但在上添加新记录 log table。
提前谢谢!
到目前为止我有:

$pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO ativos (ativo,comentario,data_aquisicao,localizacao,fabricante,modelo,imei,
            numero_serie,ativo_sap,evento,data_evento,id_colaborador) 
            SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, id_colaborador 
            FROM colaboradores 
            WHERE nome = ?";
    $q = $pdo->prepare($sql);
    $q->execute(array($ativo,$comentario,$data_aquisicao,$localizacao,$fabricante,$modelo,$imei,$numero_serie,$ativo_sap,$evento,$data_evento,$id_colaborador));

if ($q) {
    //get last ID that was generated by previos insert
    $id_ativo = $pdo->lastInsertId();
    }
    $log  = "INSERT INTO log_ativos (acao_log,data_log,id_ativo,id_colaborador)
SELECT ?,?,?, id_colaborador
FROM colaboradores
WHERE nome = ?";
    $qlog = $pdo->prepare($log);
    $qlog->execute(array($acao_log2,$data_log2,$id_ativo,$id_colaborador));
    Database::disconnect();

它不会创造一个新的记录 log 更新的主记录时的表 ativos table

sh7euo9m

sh7euo9m1#

我想这是因为我想找一张唱片 colaboradoresnome 等于 $id_colaborador ,如果最后一个值是实际id,则直接插入。。。

$log  = "INSERT INTO log_ativos (acao_log,data_log,id_ativo,id_colaborador)
            VALUES(?,?,?,?)";
$qlog = $pdo->prepare($log);
$qlog->execute(array($acao_log2,$data_log2,$id_ativo,$id_colaborador));

相关问题