在不删除和重建 table 的情况下更改 SQL 数据库中 nvarchar 的最大值
Change the max value of nvarchar in SQL database without deleting and rebuilding the table
目前我有一个 SQL 数据库,列值为 nvarchar(255) 当我在 SQL [=25= 中编辑它时,我需要将其更改为 nvarchar(600) ] 在服务器上弹出一条警告,指出必须删除并重建 table 才能进行更改。我不要 想要根据最初构建该程序的开发人员的建议来执行此操作。 (他暂时无法帮我找零)
我看到很多答案都建议在设置中取消选中 "Prevent saving changes that require ...",但根据本网站和其他地方的许多其他人的建议,我又不愿意这样做。
有没有人对如何在不必删除和重建 table 的情况下更改此最大值有任何建议?
简单的 ALTER
语句行得通吗?该字段不允许使用 NULL 值,这样的方法行得通吗?
ALTER TABLE dbo.myTable
ALTER COLUMN myColumn VARCHAR(600)
SET XACT_ABORT ON
BEGIN TRAN
ALTER TABLE dbo.myTable
DROP CONSTRAINT DF_myTable_myColumn
ALTER TABLE dbo.myTable
ALTER COLUMN myColumn VARCHAR(600) NOT NULL
ALTER TABLE dbo.myTable
ADD CONSTRAINT DF_myTable_myColumn DEFAULT('foo') FOR myColumn
COMMIT TRAN
目前我有一个 SQL 数据库,列值为 nvarchar(255) 当我在 SQL [=25= 中编辑它时,我需要将其更改为 nvarchar(600) ] 在服务器上弹出一条警告,指出必须删除并重建 table 才能进行更改。我不要 想要根据最初构建该程序的开发人员的建议来执行此操作。 (他暂时无法帮我找零)
我看到很多答案都建议在设置中取消选中 "Prevent saving changes that require ...",但根据本网站和其他地方的许多其他人的建议,我又不愿意这样做。
有没有人对如何在不必删除和重建 table 的情况下更改此最大值有任何建议?
简单的 ALTER
语句行得通吗?该字段不允许使用 NULL 值,这样的方法行得通吗?
ALTER TABLE dbo.myTable
ALTER COLUMN myColumn VARCHAR(600)
SET XACT_ABORT ON
BEGIN TRAN
ALTER TABLE dbo.myTable
DROP CONSTRAINT DF_myTable_myColumn
ALTER TABLE dbo.myTable
ALTER COLUMN myColumn VARCHAR(600) NOT NULL
ALTER TABLE dbo.myTable
ADD CONSTRAINT DF_myTable_myColumn DEFAULT('foo') FOR myColumn
COMMIT TRAN