代码之家  ›  专栏  ›  技术社区  ›  Luis Ramon Ramirez Rodriguez

如何记录谁在我的SQL中编辑了表

  •  -1
  • Luis Ramon Ramirez Rodriguez  · 技术社区  · 6 年前

    是否有函数自动更新列,指定谁在SQL表中创建了新记录?

    类似于时间戳的东西,但它不是显示添加记录的用户的时间。

    例如

    value user  
    111   Luis  
    111   Admin  
    112   Luis  
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Derviş Kayımbaşıoğlu    6 年前

    对于MySQL本身,您不能这样做。MySQL唯一知道的用户是 current_user() 应用程序用来连接的。

    您可以创建触发器以保存此用户,但我相信这不值得太多

    created_by varchar(100);
    create trigger table_insert_trig before insert on table for each row begin set new.created_by := current_user(); end; 
    

    另一种选择是使用数据访问层从应用程序传递当前用户,但这与MySQL本身无关,它是应用程序逻辑。