加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL Server 2000 – ALTER TABLE INSERT INTO =错

发布时间:2020-12-12 16:40:20 所属栏目:MsSql教程 来源:网络整理
导读:我试图修改一个表来添加一个新的列,然后在其中插入一个新的行. ALTER TABLE Roles ADD ModifiedDate DateTime;INSERT INTO Roles (Name,[Description],CreatedBy,BuiltIn,Created,ModifiedDate) VALUES ('Name','Description',1,GETDATE(),GETDATE()) 但我得
我试图修改一个表来添加一个新的列,然后在其中插入一个新的行.
ALTER TABLE Roles ADD ModifiedDate DateTime;
INSERT INTO Roles (Name,[Description],CreatedBy,BuiltIn,Created,ModifiedDate)
    VALUES ('Name','Description',1,GETDATE(),GETDATE())

但我得到:

Msg 207,Level 16,State 1,Line 1
Invalid column name 'ModifiedDate'.

当我尝试在SQL Server Management Studio中运行上述SQL.我认为这是一个Studio错误,而不是服务器错误.如果SQL已经运行,那么它应该在这一点上存在列.

如何向表中添加新列,然后插入该表?

版本:

> SQL Server 2000
> SQL Server Management Studio 2008

解决方法

如预期SQL Server不会逐行执行.它编译和解析批处理,当这种情况发生时,列不存在.

您需要解耦2个动作

ALTER TABLE Roles ADD ModifiedDate DateTime;
EXEC ('
    INSERT INTO Roles (Name,ModifiedDate)
    VALUES (''Name'',''Description'',GETDATE())
')

“GO”是仅用于客户端工具的批处理分隔符,服务器无法识别

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读