百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql中单表多timestamp设置default问题
分享文章到:

mysql中单表多timestamp设置default问题

发布时间:01/15 来源: 浏览: 关键词:
在今天在一个mysql数据表中同时使用了多个timesatmp设置了默认值时发现提示了mysqltimestamp报错#1293 - Incorrect table definition; there can be only one TIMESTAMP column with C 了,下面我就我解决些问题具体方法分享给大家吧。

mysql中,同一个表多个timesatmp字段设置default的时候,经常会报错。

一个表只能有一个设置default的字段。

但是有时只有一个字段设置default也会报错。

会报:Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

但是检查代码,发现只有一个timestamp设置了default。

例如:

 代码如下

create table dxs_product
(
   pid                  int not null auto_increment comment '产品id',
   pname                varchar(300) comment '产品名',
   istop                int comment '置顶',
   begintoptime         timestamp comment '置顶时间',
   endtoptime           timestamp comment '置顶时间',
   publishtime          timestamp default CURRENT_TIMESTAMP comment '发布时间',
   primary key (pid)
)

原因是当你给一个timestamp设置为on updatecurrent_timestamp的时候,其他的timestamp字段需要显式设定default值

但是如果你有两个timestamp字段,但是只把第一个设定为current_timestamp而第二个没有设定默认值,mysql也能成功建表,但是反过来就不行...

改成:

 代码如下

create table dxs_product
(
   pid                  int not null auto_increment comment '产品id',
   pname                varchar(300) comment '产品名',
   istop                int comment '置顶',
   publishtime          timestamp default CURRENT_TIMESTAMP comment '发布时间',
   begintoptime         timestamp comment '置顶时间',
   endtoptime           timestamp comment '置顶时间',
   primary key (pid)
)

就不报错了。

第一个timestamp设置了default才可以,后面的设置default就不行。而且只能有一列设置default。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板