求:如何删除某字段的not null
例:soft表 name字段麻烦给个sql语句,google了下没找到。

解决方案 »

  1.   

    修改字段类型
    ALTER TABLE table_name  ALTER COLUMN column_name new_data_type
    ALTER TABLE soft  ALTER COLUMN name varchar(10) null
      

  2.   

    可以在表设计器里直接修改,不过,前提是:所有记录在该列上都不能为NULL.
      

  3.   

    楼主是要去掉列约束 还是要去掉not null的记录
      

  4.   

    去掉列约束
    1.创建 temp_name 
    alter table soft add  temp_name varchar(64) null
    2.拷贝数据
    update soft
    set temp_name =name
    3.删除name列
    alter table soft drop column name
    4.改名字
    exec sp_rename   temp_name', name','column' 
      

  5.   

    BEGIN TRANSACTION
    CREATE TABLE dbo.Tmp_soft
    (
    name char(10) NULL
    )  ON [PRIMARY]
    GO
    IF EXISTS(SELECT * FROM dbo.soft)
     EXEC('INSERT INTO dbo.Tmp_soft (name)
    SELECT name FROM dbo.soft (HOLDLOCK TABLOCKX)')
    GO
    DROP TABLE dbo.soft
    GO
    EXECUTE sp_rename N'dbo.Tmp_soft', N'soft', 'OBJECT'
    GO
    COMMIT
      

  6.   

    delete soft  where  name is no null