SQL给学生表 s 增加入学时间属性列,并设置默认值为当前时间

Orange橘子洲头 2011-04-27 07:27:23
给学生表 s 增加入学时间属性列,并设置默认值为当前时间

我这么写的

alter table s
add 入学时间 datetime
constraint C1 default Getdate();

运行后s中加上了那一列 但是默认值是NULL
应该怎么写啊
...全文
3580 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyh070207 2011-04-27
  • 打赏
  • 举报
回复 1
alter table s add 入学时间 datetime not null default getdate()
Shawn 2011-04-27
  • 打赏
  • 举报
回复
#1.新增列,设置了默认值,原有的数据不会自动增加默认值,会初始化为NULL
#2.新增列,设置了默认值,再INSERT的时候,如果未赋值,会初始化为GETDATE()
所以自己根据业务把老的数据UPDATE一下即可
Sphonix 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 smile_watermelon 的回复:]
给学生表 s 增加入学时间属性列,并设置默认值为当前时间

我这么写的

alter table s
add 入学时间 datetime
constraint C1 default Getdate();

运行后s中加上了那一列 但是默认值是NULL
应该怎么写啊
[/Quote]

不较你正确的答案,教你一招得到正确答案的方法:
1、运行事件探察器(2000叫这个名,2008不叫这个名,但功能相似);
2、在你需要修改的表上通过窗体增加你想要的字段并设置好其属性,然后保存;
3、在事件探察器中就可以得到你想要的sql(很多条数据,你需要找到正确的那条)。
cd731107 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lang_love_java 的回复:]
设置默认值,仅当插入时,如果不给定其值,就默认为所给的值。如果你要给已经插入的记录设置值,那就用update吧
比如
update s set 入学时间 = GETDATE();
全部的“入学时间”列都为当前系统的时间。
[/Quote]
正解
lang_love_java 2011-04-27
  • 打赏
  • 举报
回复
设置默认值,仅当插入时,如果不给定其值,就默认为所给的值。如果你要给已经插入的记录设置值,那就用update吧
比如
update s set 入学时间 = GETDATE();
全部的“入学时间”列都为当前系统的时间。
一、实验目的 1.掌握SQL Server 2005的安装。 2.掌握SQL Server Management Studio的启动和使用。 3.掌握SQL Server 2005服务器的配置和注册。 4.掌握SQL Server 2005查询的基本使用。 5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL语句创建数据库的方法。 9.掌握应用Transact-SQL修改和查看数据库的方法。 10.掌握通过Transact-SQL删除数据库的方法。 11.掌握SQL Server 2005数据库和操作系统物理文件的关系。 12.掌握数据库的分离和附加方法。 二、实验内容 1.完成SQL Server 2005开发版的安装。 提示:若计算机系统中已经安装有SQL Server 2005系统,则在安装时需要选择安装命名实例。安装过程中身份验证模式选择“混合模式”并设置sa账户的密码。 2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP协议。 4.利用SQL Server外围配置器配置数据库引擎的服务及远程连接,设置为“本地连接和远程连接”,选择“同时使用TCP/IP和named pipes”。 5.利用SQL Server Management Studio注册安装的命名实例。 6.利用SQL Server Management Studio注册远程服务器。 提示:注册远程服务器时需要使用混合验证模式,利用sa账户和密码登录远程服务器。 7.启动SQL Server Management Studio,连接到服务器。新建一个查询,在其中输入如下代码: DECLARE @position int, @string char(5) SET @position = 1 SET @string = 'China' WHILE @position <= DATALENGTH(@string) BEGIN SELECT SUBSTRING(@string, @position, 1) 字符, ASCII(SUBSTRING(@string, @position, 1)) ASCII码 SET @position = @position + 1 END

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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