1、当数据表中存在数据,修改具有默认约束的字段定义时。
2、需要先删除已有约束,才能对字段定义进行修改。
3、而在SQL Server建表时创建的默认约束,其名称后会自动生成一段随机码。
4、因此在删除时需要找到(在SQL Server Management Studio中选择表——>约束,可以看到以DF_开头的默认约束)已有约束名,再进行删除,这一过程较为繁琐。
1、非要用datetime的话就不能用default而要通过trigger来实现
2、在插入时value用now()函数、或者自行取运行时间
3、字段类型改变为:
datecreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
datemodified timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
但是其实不可行,因为一个表只能有一个CURRENT_TIMESTAMP,但你有三个字段。
所以当有多个时间可能还是得结合方式2与方式3来综合处理。当然全都用方式2也就不会提出这种问题了。
给你写个例子你就明白了
create table text
(
id int primary key,
newDate datetime default(getDate())
)
insert into text values(1,default)
select from text
搞定
sql server中datetime类型字段设置默认值的方法:
一、在企业管理器中选中要修改的表格,点击鼠标右键,d出菜单点击“设计表”
2、选中要设置的字段,在默认值中绑定默认值
默认值为当前时间:getdate()
默认值为指定时间:'20160101',该格式各数据库版本有细微差异,示例在SQL2000环境测试:
在数据库表中添加默认的当前日期列:
表中添加日期列,在其默认值中,填上默认日期的函数即可。
oracle 当中是sysdate!
sql server中是GETDATE()
MySQL:curdate()
’yyyy-mm-dd’的格式返回今天的日期,可以直接存到date字段中。
不包括当前的时间 只显示年月日:需要你读取出来的时候,删除掉后面的时间部分。
因为数据库会自动加上 0:00:00 的。
以上就是关于SQL添加默认约束,如何将它默认为当前日期全部的内容,包括:SQL添加默认约束,如何将它默认为当前日期、mysql 在数据库中设置时间、在数据库中怎么默认添加日期时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)