mysql建表,时间字段设置默认值问题

c_sdn_shang_bu_qi 2014-07-08 02:26:54
create table ZXD_SB_RESULT_LOG
(
POLICYCODE VARCHAR(50),
CASEINT VARCHAR(50),
LINK VARCHAR(20),
CASEGRADE VARCHAR(10),
SBTIME TIMESTAMP,
ISSTTFLAG INT default 0,
INPUTTIME TIMESTAMP NOT NULL default CURRENT_TIMESTAMP
)
;
就这个普通语句,居然报错。mysql设置默认值就这么难吗
报错如下:
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

请教怎么解决
...全文
692 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_sdn_shang_bu_qi 2014-07-09
  • 打赏
  • 举报
回复
引用 4 楼 SQL77 的回复:
[quote=引用 3 楼 c_sdn_shang_bu_qi 的回复:] [quote=引用 2 楼 SQL77 的回复:] 我版本5.7你的语句没问题。 create table ZXD_SB_RESULT_LOG ( POLICYCODE VARCHAR(50), CASEINT VARCHAR(50), LINK VARCHAR(20), CASEGRADE VARCHAR(10), SBTIME TIMESTAMP default 0, ISSTTFLAG INT default 0, INPUTTIME TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ) 改成这样应该就OK了。或者你前面用DATETIME 类型应该也可以
我比较头痛,我最后把inputtime那句放字段最前面了,但是当有两个字段设置default CURRENT_TIMESTAMP的时候又报错。oracle都不会有这样的问题 [/quote] 可能版本不一致吧。我5.7的是没问题的 5.1的我查了帮助档。 是会有你这问题。第一个要默认的。[/quote] 是版本问题,哎
SQL77 2014-07-08
  • 打赏
  • 举报
回复
引用 3 楼 c_sdn_shang_bu_qi 的回复:
[quote=引用 2 楼 SQL77 的回复:] 我版本5.7你的语句没问题。 create table ZXD_SB_RESULT_LOG ( POLICYCODE VARCHAR(50), CASEINT VARCHAR(50), LINK VARCHAR(20), CASEGRADE VARCHAR(10), SBTIME TIMESTAMP default 0, ISSTTFLAG INT default 0, INPUTTIME TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ) 改成这样应该就OK了。或者你前面用DATETIME 类型应该也可以
我比较头痛,我最后把inputtime那句放字段最前面了,但是当有两个字段设置default CURRENT_TIMESTAMP的时候又报错。oracle都不会有这样的问题 [/quote] 可能版本不一致吧。我5.7的是没问题的 5.1的我查了帮助档。 是会有你这问题。第一个要默认的。
c_sdn_shang_bu_qi 2014-07-08
  • 打赏
  • 举报
回复
引用 2 楼 SQL77 的回复:
我版本5.7你的语句没问题。 create table ZXD_SB_RESULT_LOG ( POLICYCODE VARCHAR(50), CASEINT VARCHAR(50), LINK VARCHAR(20), CASEGRADE VARCHAR(10), SBTIME TIMESTAMP default 0, ISSTTFLAG INT default 0, INPUTTIME TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ) 改成这样应该就OK了。或者你前面用DATETIME 类型应该也可以
我比较头痛,我最后把inputtime那句放字段最前面了,但是当有两个字段设置default CURRENT_TIMESTAMP的时候又报错。oracle都不会有这样的问题
SQL77 2014-07-08
  • 打赏
  • 举报
回复
我版本5.7你的语句没问题。 create table ZXD_SB_RESULT_LOG ( POLICYCODE VARCHAR(50), CASEINT VARCHAR(50), LINK VARCHAR(20), CASEGRADE VARCHAR(10), SBTIME TIMESTAMP default 0, ISSTTFLAG INT default 0, INPUTTIME TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ) 改成这样应该就OK了。或者你前面用DATETIME 类型应该也可以
benluobo 2014-07-08
  • 打赏
  • 举报
回复
没有这种写法 default 必须是确定的值

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧