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

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


当前回答

ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)

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

其他回答

ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)

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

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

对我来说,在sql server 2016,我这样做

将column n1重命名为column2

EXEC sp_rename 'dbo.T_Table1.Column1', 'Column2', 'COLUMN'

*将列类型从字符串修改为int:(请确保数据格式正确)

ALTER TABLE dbo.T_Table1 ALTER COLUMN Column2  int; 

如果你使用T-SQL(MSSQL);你应该试试这个脚本:

ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5)

如果你使用MySQL;你应该试试这个脚本:

ALTER TABLE [Employee] MODIFY COLUMN [Salary] NUMERIC(22,5)

如果你使用甲骨文;你应该试试这个脚本:

ALTER TABLE [Employee] MODIFY [Salary] NUMERIC(22,5)

我可以修改表字段的数据类型,与以下查询:

ALTER TABLE table_name
MODIFY column_name datatype;