PHP mysql自动插入时间戳

时间:2011-12-29 00:38:08

标签: 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);

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

4 个答案:

答案 0 :(得分:20)

您需要做的是将timestamp声明为您的sql中的类型

timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

并将查询修改为

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

答案 1 :(得分:10)

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

答案 2 :(得分:1)

在SQL本身而不是传递它...它更有效...这是相应的帖子:

Auto TimeStamp new entry to DB (phpMyAdmin)

答案 3 :(得分:0)

我知道这个问题已有答案,所以我将所有答案结合起来并解释一下。 可能有两种方法可以做到这一点,

  1. 更改您的表并将timestamp列设置为默认CURRENT_TIMESTAMP
  2.   

    ALTER TABLE tablename MODIFY timestamp TIMESTAMP NOT NULL DEFAULT   CURRENT_TIMESTAMP

    并像这样修改您的查询,将自动插入时间戳

      

    $ query ="插入auto_parts(id,part,price)值(1,'轴',   200)&#34 ;;的mysql_query($查询);

    1. 如果您有多个时间戳表,那么您可以将其设为当前时间戳,而另一个时间戳则使用此类
    2.   

      ALTER TABLE tablename MODIFY timestamp TIMESTAMP NOT NULL

      并像这样修改您的查询

        

      $ query ="插入auto_parts(id,part,price,timestamp)值(1,'轴',200,now())&#34 ;;的mysql_query($查询);