一个数据库问题,修改表结构

[复制链接]
查看11 | 回复3 | 2011-5-18 13:29:51 | 显示全部楼层 |阅读模式
create table 教学任务
( 课程ID char(6),
任课教师ID char(8) unique,
学期 int
check(学期 in (1,2)),
年度 char(10)
check(年度 between 1990 and 2010),
primary key(课程ID,年度,学期))
档输入:insert into 教学任务 values('JB0001','02120011',1,'2002-2003')
出现将 varchar 值 '2002-2003 ' 转换为数据类型为 int 的列时发生语法错误。
我的分析:我的数据定义错了,between and语句是针对int型
修改语句:alter table 教学任务 column 年度 int
但是,我的'2002-2003'是char型。
问:我输入的一定是要这种类型,改怎么修改表结构,而且还要有年度在(1990,2010)区间的约束

回复

使用道具 举报

千问 | 2011-5-18 13:29:51 | 显示全部楼层
你理解错了. 2010-2011年度,就是'2010',而非'2010-2011'
回复

使用道具 举报

千问 | 2011-5-18 13:29:51 | 显示全部楼层
先把数据删掉,然后在执行alter语句
回复

使用道具 举报

千问 | 2011-5-18 13:29:51 | 显示全部楼层
你能否把年度分为年度起、年度止2项?这样就好控制了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行