假设我有一个名为auto_parts的表,其中包含这些字段。id, part, price, timestamp
然后通过php插入新行,如下所示:
$query = "insert into auto_parts(id, part, price, timestamp)
values(1, 'axle', 200)"
mysql_query($query);
将自动添加时间戳。还是我必须自己为时间戳插入一个值?
你需要做的是声明timestamp
在你的sql
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
并将查询修改为
$query = "insert into auto_parts(id, part, price)
values(1, 'axle', 200)"
mysql_query($query);
$query = "insert into auto_parts(id, part, price, timestamp)
values(1, 'axle', 200, 'NOW()')"
mysql_query($query);
在SQL中执行,而不是传递它…效率更高…这是相应的职位:
Auto TimeStamp new entry to DB (phpMyAdmin)
我知道这个问题已经有了答案,所以我把所有的答案结合起来并解释一点。有两种方法可以做到这一点,
- 改变你的表,使时间戳列默认CURRENT_TIMESTAMP
修改表的时间戳CURRENT_TIMESTAMP
并像这样修改查询,时间戳将自动插入
$query = "insert into auto_parts(id, part, price) values(1, 'axle', '轴')200)";mysql_query(查询)美元;
- 如果你有多个时间戳表,那么你可以选择一个作为当前时间戳,而另一个则像这样使用
修改表的时间戳
并像这样修改你的查询
$query = "insert into auto_parts(id, part, price, timestamp) values (1, 'axle', 200, now())";mysql_query(查询)美元;