我需要有一个表列,用于记录插入行时的时间和日期,以及更新时的记录。
实现这一目标的最佳方法是什么,并且与MySQL 5.5,5.6,5.7版本兼容?
另外,我如何设置phpmyadmin中的所有内容?我必须选择date
或date and time
- > timestamp
作为列类型?什么呢?
我找不到任何关于此的教程。
答案 0 :(得分:1)
您的数据库应该有timestamp
列来记录上次更新时间戳
和DATETIME
列插入了日期记录。
CREATE TABLE `table` (
`record_inserted` DATETIME,
`last_updated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,
)
ENGINE = InnoDB;
答案 1 :(得分:0)
有一个在创建时插入日期的colomn是一种方法 那么如果你通过php创建第二列。收集日期,当你添加或修改somthing时,php将当前日期放入第二个colomn
e.g。
$modifydate = Date('l jS \of F Y h:i:s A');
$conn = new mysqli(HOST,USER,PASSWORD,DATABASE);
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO TABLE (DateModified,othercolomns) VALUES ('$modifydate ', '$othervalues')";
if ($conn->query($sql) === TRUE)
{
echo "New record created successfully";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
SQL表
Datecreated, DateModyfied, [other colomns]