PHP mysql自动插入时间戳

use*_*275 10 php mysql timestamp

假设我有一个包含这些字段的表名auto_parts. id, part, price, timestamp 我通过php插入一个新行,如下所示:

$query = "insert into auto_parts(id, part, price, timestamp)
  values(1, 'axle', 200)"
mysql_query($query);
Run Code Online (Sandbox Code Playgroud)

会自动添加时间戳.或者我是否必须自己插入时间戳值?

par*_*mar 20

你需要做的是声明timestamp你的sql中的类型

timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

并将查询修改为

$query = "insert into auto_parts(id, part, price)
  values(1, 'axle', 200)"
mysql_query($query);
Run Code Online (Sandbox Code Playgroud)

  • 每个表只能使用一个时间戳变量!! (2认同)
  • 每个表只有一个*自动*时间戳,无论是通过DEFAULT还是UPDATE(虽然我认为在最近的MySQL版本中有所改变).您可以拥有多个时间戳列,只要自动设置/更新不超过一列.http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html (2认同)

Ali*_*der 10

$query = "insert into auto_parts(id, part, price, timestamp)
  values(1, 'axle', 200, 'NOW()')"
mysql_query($query);
Run Code Online (Sandbox Code Playgroud)