我试图修改一个表来添加一个新的列,然后在其中插入一个新的行.
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不会逐行执行.它编译和解析批处理,当这种情况发生时,列不存在.
您需要解耦2个动作
ALTER TABLE Roles ADD ModifiedDate DateTime; EXEC (' INSERT INTO Roles (Name,ModifiedDate) VALUES (''Name'',''Description'',GETDATE()) ')
“GO”是仅用于客户端工具的批处理分隔符,服务器无法识别