mysql的insert语句怎么插入当前时间?

mypoly
  • 1.8k

mysql的insert语句怎么插入当前时间?

比如有一张表users,有id,name,eamil,password,created_at,updated_at字段。
我想插入一条数据,这样写:

INSERT INTO users VALUES (Null, 'xiaoming','[email protected]','ffahifuhaif','','' );

问题:
1、id是自增长的,上面语句中id字段写Null正确么?
2、created_at,updated_at两个字段要插入当前时间,应该怎么做?

回复
阅读 21.3k
4 个回答

1,你的语法错误。INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
ID不用写进去,会自动赋值的。

2,时间字段也可以用默认值自动插入当前时间。
http://s11.sinaimg.cn/mw690/0...
clipboard.png
字段类型设置成时间戳 timestamp,默认值填写 CURRENT_TIMESTAMP

插入数据的时候自动就会保存时间到该字段。

ArrayBuffer
  • 61
  1. 设置为auto_increase的字段,你设置其他值是没有用的。

  2. 如果你使用php,插入当前的时间是 NOW();

不需要的字段可以不填

    INSERT INTO users(name,eamil,password) VALUES ( 'xiaoming','[email protected]','ffahifuhaif');

还有两个时间的问题 可以在数据库里这样设置:

  1. created_at 默认值设置为 CURRENT_TIMESTAMP

  2. updated_at 默认值设置为 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

要求mysql版本大于5.6.5
据体看这个http://stackoverflow.com/a/4897134

首先确定你时间是以什么数据类型存储的,是int?date?还是timestamp?datetime?再根据具体的类型做处理

宣传栏