如果列的长度在创建时为null,我可以更新列的长度
MYCOLUMN1 nvarchar(12) NULL
我的查询:
Alter table MYTABLE ALTER Column MYCOLUMN1 nvarchar(13) NULL
但是如果列不为空,我怎么能改变长度呢?
MYCOLUMN2 nvarchar(12) NOT NULL
Alter table MYTABLE ALTER Column MYCOLUMN2 nvarchar(13) NOT NULL
当我尝试这样做时,SQL Server说
Msg 4902,Level 16,State 1,Line 1
找不到对象“MYCOLUMN2”,因为它不存在或您没有权限。
我有权限,因为我是admin,而table的列确实存在。
伙计们感谢您的回复...... 这是表结构
CREATE TABLE [dbo].[MYTABLE](
[MyKey] [int] IDENTITY(1,1) NOT NULL,
[mycolumn1] [nvarchar](12) NULL,
[mycolumn2] [nvarchar](12) NOT NULL,
CONSTRAINT [PK_MYTABLE] PRIMARY KEY CLUSTERED
(
[MyKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
答案 0 :(得分:0)
列名称区分大小写。请尝试
Alter table MYTABLE ALTER Column [mycolumn2] nvarchar(13) NOT NULL
我已经尝试过,它在sqlserver2012上运行正常。