SQL修改列及表名的问题


  本文标签:SQL修改

  遇到一个问题,怎么修改int的列为char,使用SQL语句的话,因为数量量比较大,查询分析器里操作会超时失败,刚开始认为执行下面语句就可以了

  Alter   table   Stock   alter   column  StockCount char

  结果失败,检查了下,总结如下

  执行上门操作需要先对表检查

  1.该列不是主键之类的,是的话要移除

  2.查看约束,有和该列关联的约束也要解除

  3.索引看下是否用到该列

  大概就这么多,我第二步就解决了上面的SQL修改列失败问题

  附带下面的语句

  增加列  
1:在表table1中增加name列为text型  
  alter   table   table1   add   name   text  
2:在表table2中增加nob列为int型且设自增量为1,且不空  
  alter   table   table1   add   nob   int   identity(1,1)   not   null  
删除列  
  例:删除table1中的id列  
  alter   table   table1   drop   column   id 

  3.修改表名

  exec sp_rename 旧表名,新表名

  4.SQL查询分析器的使用技巧,有时候临时忘记语句怎么写,但是修改表数据又提示超时

  这时候可以,点 “工具”->选项->设计器->表设计器和数据库设计器->自动生成更改脚步(这个选项打上勾)

  然后,再次去修改数据,提示超时之后,会得到对应的sql执行代码,把代码提出来放在查询分析器里手动执行就可以执行成功了