我有SQL Server数据库,我刚刚意识到,我可以改变其中一列的类型从int到bool。

我怎样才能做到这一点而不丢失已经输入到表中的数据呢?


当前回答

如果这是一个有效的更改。

你可以改变属性。

工具—>选项—>设计器—>表和数据库设计器—> Uncheck—>防止保存需要重新创建表的更改。

现在,您可以轻松地更改列名,而无需重新创建表或丢失u r记录。

其他回答

您可以使用以下命令轻松完成此操作。任何0的值都将被转换为0 (BIT = false),任何其他值都将被转换为1 (BIT = true)。

ALTER TABLE dbo.YourTable
   ALTER COLUMN YourColumnName BIT

另一种选择是创建一个BIT类型的新列,从旧列填充它,完成之后,删除旧列并将新列重命名为旧名称。这样,如果在转换过程中出现了问题,您可以随时返回,因为您仍然拥有所有数据。

如果这是一个有效的更改。

你可以改变属性。

工具—>选项—>设计器—>表和数据库设计器—> Uncheck—>防止保存需要重新创建表的更改。

现在,您可以轻松地更改列名,而无需重新创建表或丢失u r记录。

在精简版中,将自动获取datetime数据类型的大小,即(8),因此不需要设置字段的大小并为此操作生成错误…

进入工具-选项-设计器-表和数据库设计器,取消选中防止保存选项

ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)

注意:如果列有大小,也只需写上大小即可。