就是约束冲突 有一个外键约束吧? 把关于 periods 的约束都删除再改看看alter table Couse drop constraint CK_Course_periods_7B90C75 囧 貌似你列里还有数据额
2. SQL中如何改变一列的数据类型
你可以使用 ALTER TABLE 加 ALTER COLUMN 来更改指定的列数据类型,如:
CREATE TABLE
myTest (fId int,fName nvarchar(20) null)
创建一个表,名为:myTest,包含两个字段。如果此时你想要更改 fName 列,那么可以使用以下语句:
ALTER TABLE myTest
ALTER COLUMN fName nvarchar(30) null
这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL联机丛书中提到的注意事项:
要更改的列不能是:
·数据类型为 text、image、ntext 或 timestamp 的列。
·表的 ROWGUIDCOL 列。
·计算列或用于计算列中的列。
·被复制列。
·用在索引中的列,除非该列数据类型是 varchar、nvarchar 或 varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
·用在由 CREATE STATISTICS 语句创建的统计中的列。首先用 DROP STATISTICS 语句删除统计。由查询优化器自动生成的统计会由 ALTER COLUMN 自动除去。
·用在 PRIMARY KEY 或 [FOREIGN KEY] REFERENCES 约束中的列。
用在 CHECK 或 UNIQUE 约束中的列,除非用在 CHECK 或 UNIQUE 约束中的可变长度列的长度允许更改。
·有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。
3. SQL中如何改变一列的数据类型
CREATE TABLE myTest (fId int,fName nvarchar(20) null) 创建一个表,名为:myTest,包含两个字段。如果此时你想要更改 fName 列,那么可以使用以下语句: ALTER TABLE myTest �敲椿岢鱿质�荻�У那榭觯��郧�蛞�⒁猓�硗猓�皇撬�械氖�堇嘈投伎梢愿�模�韵率荢QL联机丛书中提到的注意事项:
4. SQL Server 2000提供了那些强制列中数据完整性的机制
默认值,约束,标识列,规则,触发器,数据类型,存储过程
都可以实现数据完整性
5. sql数据库更改列的类型
alter
table
tabname
modify
(colname
colnewtype);
不过需要注意的是字段中如果已经存在值,需要确认colnewtype兼容这些值类型,否则数据库不允许修改
6. SQL中如何改变一列的数据类型
你可以使用
ALTER
TABLE
加
ALTER
COLUMN
来更改指定的列
数据类型
,如:
CREATE
TABLE
myTest
(fId
int,fName
nvarchar(20)
null)
创建一个表,名为:myTest,包含两个
字段
。如果此时你想要更改
fName
列,那么可以使用以下
语句
:
ALTER
TABLE
myTest
ALTER
COLUMN
fName
nvarchar(30)
null
这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL
联机丛书
中提到的注意事项:
要更改的列不能是:
·数据类型为
text、image、ntext
或
timestamp
的列。
·表的
ROWGUIDCOL
列。
·计算列或用于计算列中的列。
·被复制列。
·用在
索引
中的列,除非该列数据类型是
varchar、nvarchar
或
varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
·用在由
CREATE
STATISTICS
语句创建的统计中的列。首先用
DROP
STATISTICS
语句删除统计。由
查询优化器
自动生成的统计会由
ALTER
COLUMN
自动除去。
·用在
PRIMARY
KEY
或
[FOREIGN
KEY]
REFERENCES
约束中的列。
用在
CHECK
或
UNIQUE
约束中的列,除非用在
CHECK
或
UNIQUE
约束中的可变长度列的长度允许更改。
·有相关联的
默认值
的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。
7. SQL SERVER中强制类型转换cast和convert的区别
CAST 和 CONVERT 函数都可将值(局部变量、列或其他表达式)从一种数据类型转换为另一种数据类型。
二者的区别:
CAST (expression AS data_type [(length )])
CONVERT(data_type[(length)],expression[,style])
从以上语法可以看出,CAST和CONVERT功能类似,但是CONVERT多了一个参数style,即在数据转换时可以指定转换后的格式,比如
SELECT CONVERT(VARCHAR(20),GETDATE(),120),CONVERT(VARCHAR(20),GETDATE(),101)
分别返回:2015-01-25 10:16:27 和 01/25/2015
如果希望 Transact-SQL 程序代码符合 ISO 标准,请使用 CAST 而不要使用 CONVERT。如果要利用 CONVERT 中的样式功能,请使用 CONVERT 而不要使用 CAST。
8. SQL中如何改变一列的数据类型
你可以使用
ALTER
TABLE
加
ALTER
COLUMN
来更改指定的列数据类型,如:
CREATE
TABLE
myTest
(fId
int,fName
nvarchar(20)
null)
创建一个表,名为:myTest,包含两个字段。如果此时你想要更改
fName
列,那么可以使用以下语句:
ALTER
TABLE
myTest
ALTER
COLUMN
fName
nvarchar(30)
null
这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL联机丛书中提到的注意事项:
要更改的列不能是:
·数据类型为
text、image、ntext
或
timestamp
的列。
·表的
ROWGUIDCOL
列。
·计算列或用于计算列中的列。
·被复制列。
·用在索引中的列,除非该列数据类型是
varchar、nvarchar
或
varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
·用在由
CREATE
STATISTICS
语句创建的统计中的列。首先用
DROP
STATISTICS
语句删除统计。由查询优化器自动生成的统计会由
ALTER
COLUMN
自动除去。
·用在
PRIMARY
KEY
或
[FOREIGN
KEY]
REFERENCES
约束中的列。
用在
CHECK
或
UNIQUE
约束中的列,除非用在
CHECK
或
UNIQUE
约束中的可变长度列的长度允许更改。
·有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。
9. 求SQL修改列数据类型的语句!
打开企业管理器,打开关系图(就是表上方那个),把和sno相关的关系先删掉,然后就可以修列类型了,改完后再建立关系。