如何查询表里是否存在某列名,如果不存在就增加那个列名,最好写出语句

解决方案 »

  1.   

    if exists(select 1 from syscolumns where id=object_id('TableName') where name='xx')
    ...
      

  2.   

    if not exists(select 1 from sys.columns a inner join sys.objects b on a.object_id=b.object_id and a.name='yourcolumnname' and b.name='yourtablename')
    alter table yourtablename add yourcolumnname columntype
      

  3.   

    IF NOT EXISTS(SELECT * FROM sys.columns  WHERE Name='列名' AND object_id('表名'))
    ALTER TABLE 表名 ADD 列名 int
      

  4.   

    举个例子,create table t4(i int)-- 判断j列是否存在,不存在则添加.
    if col_length('t4','j') is null
      alter table t4 add j int-- 查看结果.
    select object_name(id) table_name,
    name col_names 
    from syscolumns 
    where id=object_id('t4')table_name   col_names
    -------------------------
    t4             i
    t4             j
      

  5.   

    少了列IF NOT EXISTS(SELECT * FROM sys.columns  WHERE Name='列名' AND object_id=object_id('表名'))
    ALTER TABLE 表名 ADD 列名 int
      

  6.   

    也可用INFORMATION_SCHEMA.COLUMNS 判斷