mysql - 自动将用户和日期添加到记录中

标签 mysql phpmyadmin

我有一个可供多个用户访问的数据库。有什么方法可以设置表格,以便每当有人输入新记录或修改记录时,他/她的用户名和输入的日期都存储在与记录本身相同的表中的两列中。该表将如下所示:

Id  |  Name  | Username | Date Entered | Date Modified
 1  |  Cat   |    john  |  1999-05-05  | 1996-06-06  

我使用的 GUI 是 phpMyAdmin。

谢谢!

最佳答案

您可以在数据类型声明后使用 NOT NULL 创建表时将列设置为不允许空值。否则,您可以使用 ALTER TABLE 语句来更改已存在的列,或者将该列添加到现有表中。

这将阻止某人添加记录,但不会更新。如果您有一个单独的用户表可供引用,则可以使用外键关系来确保填充用户列时,将使用有效的用户来完成。

如果未提供值,则可以使用 DEFAULT 约束来设置日期字段的值。

ALTER TABLE x
  ADD USER VARCHAR(45) NOT NULL

ALTER TABLE x
  ADD DATE_ENTERED DATE NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

ALTER TABLE x
  ADD DATE_ENTERED DATE NOT NULL DEFAULT ON UPDATE CURRENT_TIMESTAMP

关于mysql - 自动将用户和日期添加到记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1919526/

相关文章:

mysql选择不属于给定间隔的时间间隔

mysql - 使用 Perl DBIx 在运行时设置 MySQL 时区

php - 使用选择选项从数据库中选择相关数据,php mysql

mysql - 在 SQL 中创建表时出错

mysql - 将用 phpmyadmin 导出的 mysql 数据库导入本地 lamp stack

mysql - SQL 内连接不返回正确的答案

java - Hibernate 无法初始化代理

mysql - 查找每个站点至少访问过两个不同国家/地区的唯一用户数

mysql - phpmyadmin导出功能-压缩

mysql - 在 phpmyadmin 中创建函数失败 - 为什么?