mysql的insert语句怎么插入当前时间?
比如有一张表users,有id
,name
,eamil
,password
,created_at
,updated_at
字段。
我想插入一条数据,这样写:
INSERT INTO users VALUES (Null, 'xiaoming','xiaoming@example.com','ffahifuhaif','','' );
问题:
1、id是自增长的,上面语句中id
字段写Null正确么?
2、created_at
,updated_at
两个字段要插入当前时间,应该怎么做?
1,你的语法错误。INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
ID不用写进去,会自动赋值的。
2,时间字段也可以用默认值自动插入当前时间。
![](http://img.php.cn/upload/image/000/000/000/d8b1f0eda296a24e7d4fdf73c289a033-0.png)
http://s11.sinaimg.cn/mw690/0...
字段类型设置成时间戳 timestamp,默认值填写 CURRENT_TIMESTAMP
插入数据的时候自动就会保存时间到该字段。
设置为auto_increase的字段,你设置其他值是没有用的。
如果你使用php,插入当前的时间是 NOW();
不需要的字段可以不填
还有两个时间的问题 可以在数据库里这样设置:
created_at
默认值设置为CURRENT_TIMESTAMP
updated_at
默认值设置为CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
要求mysql版本大于5.6.5
据体看这个http://stackoverflow.com/a/4897134
首先确定你时间是以什么数据类型存储的,是int?date?还是timestamp?datetime?再根据具体的类型做处理