MySQL timestamp的默认值怎么设置

MySQL timestamp的默认值怎么设置,第1张

CREATE TABLE `test1` (

`a` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),

`b` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),

`c` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)

) ENGINE=MyISAM DEFAULT CHARSET=utf8

建表test1。3个字段 a,b,c

insert into test1 VALUES(NULL,NULL,NULL)

插入的时候设置3字段都是 null

然后成功

Affected rows : 1, Time: 0.00sec

mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞。

想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRENT_TIMESTAMP

应该用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 '内容',给每个字段加上注释,这样以后看到的时候不会想不起来字段的含义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8550572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存