Varchar(255) to Varchar(MAX)

前端 未结 3 795
[愿得一人]
[愿得一人] 2021-02-04 23:27

Is it possible to change a column type in a SQL Server 2008 database from varchar(255) to varchar(MAX) without having to drop the table and recreate?

3条回答
  •  别那么骄傲
    2021-02-05 00:18

    'Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require table to be re-created.' Option 'Prevent saving changes' is not enabled..

    That's a new "feature" in SQL Server Management Studio 2008 which by default is turned on. Whenever you make a larger change, SSMS can only recreate the table by creating a new one and then moving over the data from the old one - all in the background (those changes include re-ordering of your columns amongst other things).

    This option is turned off by default, since if your table has FK constraints and stuff, this way of re-doing the table might fail. But you can definitely turn that feature on!

    It's under Tools > Options and once you uncheck that option you can do these kind of changes to table structure in the table designer again.

提交回复
热议问题