别笑我菜,我是业余自学的。
ALTER TABLE LACRIMOSA ALTER COLUMN CHEN SET DEFAULT 'CHEN' 我的语句是这么写的,为什么会提示:
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'SET' 附近有语法错误。
在CREATE TABLE时后缀一个DEFAULT是没问题的。ALTER TABLE中不管是DROP DEFAULT 还是SET DEFAULT都报错。
后来我进入企业管理器,找到这个表,直接用窗口界面表设计器更改,也没问题。
实在弄不明白我的语法那里错了。

解决方案 »

  1.   

    ALTER TABLE LACRIMOSA ADD CONSTRAINT
    DF_LACRIMOSA_CHEN DEFAULT 'CHEN' FOR CHEN 这样试试
      

  2.   

    或用create default DF_LACRIMOSA_CHEN
    as
    'CHEN'
    go
    exec sp_bindefault 'DF_LACRIMOSA_CHEN','LACRIMOSA.CHEN'
      

  3.   

    非常感谢,成功了,我再仔细啃这几句话的含义。
    特别是这么活跃的回复速度令我感动万分。
    另外我根据教材上的CASCADE与RESTRICT也是用不通,如例句:
    DROP TABLE ABC CASCADE,运行显示CASCADE附近语法错误。
    自学真难,我都有些灰心了。
      

  4.   

    有很多教材上教的东西是通用的,也就是标准的东西,但是实际Sql Server并不是百分百的都支持这样的标准,有些语法上还是有些改变的。建议看MSDN比较好,因这是微软的帮助文档,里面的语法可以百分百的能用。
    祝楼主学习顺利!
      

  5.   

    我这里有server 2005 msdn的联机文档,还没找到2000的,我想先熟悉2000,因为我现在用的数据库是2000.