Pra*_*ado 5 sql-server sql-server-2008
我在 SQL SERVER 2008 中有一个现有表,其列之一为 NVARCHAR(MAX),并且其中仅包含少于 10 个字符的值。该表正在生产中并且包含数据。
我有一个要求,必须将此列从 NVARCHAR(MAX) 更改为 NVARCHAR(50)。即使该列中的数据少于 10 个字符,SQL Server 在执行此操作时也会出现一些截断错误。
这是我的脚本:
ALTER TABLE [dbo].[Table] ALTER COLUMN [Column1] NVARCHAR ( 50 ) NOT NULL
Run Code Online (Sandbox Code Playgroud)
小智 5
首先使用以下查询检查您的表数据:
SELECT DATALENGTH(Column_Name) AS FIELDSIZE, Column_Name
FROM Table_Name
Run Code Online (Sandbox Code Playgroud)
如果一切正常,您可能已经检查了该Prevent Saving Changes选项。请按以下步骤检查:
工具 > 设计器取消选中防止保存需要重新创建表的更改