在SQL中插入一行时在“时间”列自动生成系统时间?

在SQL中如输入ALTERTABLE[dbo].[订单表]altercolumn时间datetimedefaultgetDate();为什么执行时候会显示:消息156,级... 在SQL中如输入
ALTER TABLE [dbo].[订单表]
alter column 时间 datetime default getDate();
为什么执行时候会显示:
消息 156,级别 15,状态 1,第 2 行
关键字 'default' 附近有语法错误。
展开
 我来答
大小2便
2012-12-26 · TA获得超过160个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:111万
展开全部
MySQL 里面.
默认值, 不允许使用 函数

你想在时间列生成系统时间的话可以这样(更新数据时仍保持输入的时间)
alter column 时间 timestamp DEFAULT CURRENT_TIMESTAMP

如果想在更新的时候令时间列变成更新的时间,可以这样:
alter column 时间 timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

输入的时候注意,要把时间列设为null,不然会使用输入的时间
如 insert into table(时间) values(null);
baiynijecym
2012-12-27 · TA获得超过1841个赞
知道大有可为答主
回答量:1411
采纳率:66%
帮助的人:1165万
展开全部
已经存在的字段是不能这样来加默认值的,你可以用如下方式来设定
ALTER TABLE dbo].[订单表]
ADD CONSTRAINT col_b_def DEFAULT getdate() FOR 时间 ;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-08-18
展开全部
在SQL中插入一行时在“时间”列自动生成系统时间?
已经存在的字段是不能这样来加默认值的,你可以用如下方式来设定
ALTER TABLE dbo].[订单表]
ADD CONSTRAINT col_b_def DEFAULT getdate() FOR 时间 ;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
silenceisok
2012-12-26 · TA获得超过119个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:105万
展开全部
这个你可以试试分布执行
1:更改字段类型为DATETIME类型
ALTER TABLE [订单表] ALTER COLUMN 时间 DATETIME
2:为该字段设置默认值
alter table [订单表] add constraint defaultValue DEFAULT GETDATE() for 时间

希望能帮到你……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
静在花开
2012-12-26 · 超过27用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:73.1万
展开全部
getDate()不能这样写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式