数据库mysql中,想建立一个默认值是系统当前时间的字段,那么这个字段的类型必须是timestam

数据库mysql中,想建立一个默认值是系统当前时间的字段,那么这个字段的类型必须是timestamp的吗?我之前用datetime类型的,总报错。
create table share (id int primary key auto_increment,
name varchar(100),
addrip varchar(50),
savetime datetime not null default now(),
other varchar(50));
这是代码,时间那一行有问题,大家给看看.

应该用timestamp,建表SQL改动如下:

CREATE TABLE share (
    id INT(11) PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(100),
    addrip VARCHAR(50),
    savetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    other VARCHAR(50)
);

    SQL中关键字尽量大写,如果你用SQLyog它会自动把关键字转换为大写;

    name是保留字,虽然没有影响,但是不能保证以后没有影响,如果使用关键字、保留字做字段,最好加上``符号包裹,以免出错。所有自己命名的地方,都可以使用``符号包裹;

    另外,每个字段最好使用 COMMENT '内容',给每个字段加上注释,这样以后看到的时候不会想不起来字段的含义。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-16
DATETIME 就可以了 ,插系统当前时间,或是date 也可以本回答被提问者采纳
第2个回答  2014-06-16
都可以
报错是你程序映射的问题吧
now()本回答被网友采纳
相似回答