如一数据表字段A默认为100,有数据
A    B
100  k 
100  l现要设默认为200,原数据不动,SQL语句应如何写?
别说UPDATE了,没用!!
http://expert.csdn.net/expert/Topicview2.asp?id=1319966

解决方案 »

  1.   

    // sqlserver 上通过 ALTER TABLE [dbo].[table1] 
    drop constraint [DF_table1_a] ALTER TABLE [dbo].[table1] WITH NOCHECK ADD 
    CONSTRAINT [DF_table1_a] DEFAULT (200) FOR [a]
      

  2.   

    ALTER TABLE [TABLE1] WITH NOCHECK ADD 
    CONSTRAINT [DF_TABLE1_data1] DEFAULT (20) FOR [field1]
    //其中,20为默认值,field1为字段名,tabel1为表名,适用于Ms SQL Server
      

  3.   

    ALTER TABLE t_name MODIFY(A  DEFAULT 200)呵呵
      

  4.   

    我最早试的就是MODIFY了,但是不管在SQL SERVER还是在DELPHI里,都出错,说MODIFY这个命令有误,到底怎么回事?
    另外我的程序不是用SQL SERVER,是用PARADOX。呵呵,有劳了!!
      

  5.   

    http://expert.csdn.net/Expert/topic/1335/1335073.xml?temp=.7552149
    http://expert.csdn.net/Expert/topic/1335/1335256.xml?temp=.3093531
    看看这两个问题吧,答对了重重有分啊
      

  6.   

    真是搞不懂你,字段的默认值还能老改来改去。你如果修改数据的话就是用update,这有什么好疑问的。
      

  7.   

    现在来说明以下SQL语言的基础:
    SQL语言分为数据定义语言和数据操作语言和数据查询语言
    数据定义语言有以下几种:
    create、alter、drop……依次是创建、删除、修改,操作对象有表、视图、主键……
    数据操作语言有:
    insert、update、delete……全部是针对数据操作的
    数据查询语言有:
    select修改字段默认值是数据修改表结构的范围,因此用alter table语句,具体用法请查看有关资料。
      

  8.   

    1.不用数据库的默认值,在程序中加一个变量保存这个值2.好像不能改变字段的属性,想一下,如果你把一个字段有字符串转变成int而且其中有数据会出现什么情况?
      

  9.   

    我有点同意 idilent() 的说法。不知他的意见大家是否认可。
    但为什么用alter table modify...不行呢?教科书上都是这么写的,可是个标准SQL命令呀!为什么在SQL SERVER 和 DELPHI中用它都出错。另外我 想请教一下guitar100(重金属):能否帮我查一下这方面的资料,我可是真的技穷了。 那些条条框框我背得比你还熟,如果大家都认为没必要去死抠这个的话,我就结贴送分就是。
    我想idilent的意见大家应该都可以认可吧!!两个地方都在明天结贴,OK!要抢分的多送上些好意见来!!!
      

  10.   

    重建一个表,然后将改过的默认值和纪录插入新表,drop旧表rename新表
      

  11.   

    毫无疑问,字段是可以修改的。但是不同数据库可能不太一样,oracle中如下:SQL> create table aaa(
      2    f1 number(3),
      3    f2 varchar2(20),
      4    f3 varchar2(20)
      5  );表已创建。SQL> describe aaa;
     名称                                      空?      类型
     ----------------------------------------- -------- -------------
     F1                                                 NUMBER(3)
     F2                                                 VARCHAR2(20)
     F3                                                 VARCHAR2(20)SQL> alter table aaa modify(f2 number(5) default 0);表已更改。SQL> describe aaa;
     名称                                      空?      类型
     ----------------------------------------- -------- -------------
     F1                                                 NUMBER(3)
     F2                                                 NUMBER(5)
     F3                                                 VARCHAR2(20)