请问能否通过更改syscolumns中的xtype字段的值来更改实际表的字段类型??? 使用alter table改字段类型的时候,MSSQL是先把当前字段的数据转换成新类型的数据(如果不能转换则报错)。只简单的改syscolumns是不行的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 alter table tablename alter column na char(10) 不要想改系统表来改字段类型.字段类型直接决定表中数据的存储结构. 数据类型的变化会引起现有数据的存储结构的变化. 如果你直接改系统表, 这些变化就不会发生, 那么, sql 根据系统表中定义的表结构来读取存储的数据的时候, 就会发生错乱. "假设类型兼容,如varchar(20)->char(20)"楼主提出的这个就已经犯了很严重的错误.varchar和char对于用户来说是兼容的, 对于数据库来说, 处理方式是完全不同的.varchar根据实际存储的数据决定存储长度, char不管是否有数据, 都分配固定的长度, 很显然, 这两者在数据的存储方式上完全不兼容. 直接改系统表不出错才怪. http://www.dearbook.com.cn/book/viewbook.aspx?pno=TS0029881 几道经典的sql查询问题!! 求助SQL语句 跨数据库 插入数据 的难题 高手接招!!!!! sql 错误?急呀 没分了,但请请教:表设计的一个小问题,有经验的指点一下,比较头疼!!! 请教一个SQL语句的写法,请大家帮帮忙,谢谢了,在线等待 好了,数据库,继续 时间聚集函数的问题 如何用pb8连接sql server2000 查询速度(2) 求每天的业绩统计,并生成数据 请指教关于DTS包的问题
楼主提出的这个就已经犯了很严重的错误.
varchar和char对于用户来说是兼容的, 对于数据库来说, 处理方式是完全不同的.
varchar根据实际存储的数据决定存储长度, char不管是否有数据, 都分配固定的长度, 很显然, 这两者在数据的存储方式上完全不兼容. 直接改系统表不出错才怪.