如何更改列的数据types而不删除查询列?
我有一个数据types的列:datetime。 但是现在我想将其转换为数据typesvarchar。 我可以改变数据types而不丢弃列吗? 如果是,那么请解释一下?
如果ALTER COLUMN不起作用。
改变列失败并不罕见,因为它不能进行你想要的转换。 在这种情况下,解决scheme是创build一个虚拟表TableName_tmp,在批量插入命令中使用您的专用转换复制数据,删除原始表,并将tmp表重命名为原始表的名称。 您必须删除并重新创build外键约束,而为了提高性能,您可能需要在填充tmp表之后创build键。
听起来很多工作? 实际上并非如此。
如果您正在使用SQL Server,则可以使SQL Server Management Studio为您做好工作!
调出你的表格结构(右键单击表格并select“修改”),并进行所有更改(如果列转换是非法的,只需添加你的新列 – 你会修补一下)。 接下来,右键单击修改窗口的背景,然后select“生成更改脚本”。 在出现的窗口中,您可以将更改脚本复制到剪贴板。
取消修改(毕竟,您将要testing脚本),然后将脚本粘贴到新的查询窗口中。 根据需要进行修改(例如,在从tmp表声明中删除字段的同时添加转换),并且您现在具有进行转换所需的脚本。
MSDN说
ALTER TABLE mytable ALTER COLUMN mycolumn newtype
注意文章中列出的ALTER COLUMN子句的限制
ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)
ALTER TABLE [table name] MODIFY COLUMN [column name] datatype
ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)
使用SQL Server 2008和更多,使用此查询:
ALTER TABLE [RecipeInventorys] ALTER COLUMN [RecipeName] varchar(550)
这很简单! 只需键入波纹pipe查询
alter table table_Name alter column column_name数据types
alter table Message alter column message nvarchar(1024);
它将开始快乐的编程
这适用于postgresql 9.0.3
alter table [table name] ALTER COLUMN [column name] TYPE [character varying];
http://www.postgresql.org/docs/8.0/static/sql-altertable.html
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)这是完美的更改为数据types
ORACLE – 修改表table_name修改(column_name new_DataType);
ALTER TABLE table_name MODIFY (column_name data_type);
ALTER tablename MODIFY columnName newColumnType
我不知道它是如何处理从datetime到varchar的变化,所以你可能需要重新命名列,添加一个新的名称和正确的数据types(varchar),然后写一个更新查询来填充从旧的新的列。
alter table [table name] remove [present column name] to [new column name.
- 如何在没有临时表的情况下删除MySQL表中的所有重复logging
- SET autocommit = 1和mysql中的START TRANSACTION之间的区别(我错过了什么?)
- SQL Server索引 – 升序或降序,它有什么不同?
- 如何插入一条logging并使用一个SqlCommand返回新创build的ID?
- 只将行插入到只有一个IDENTITY列的表中
- 结束使用closures打开的SQL连接
- 如何使用sql server management studio将blob插入到数据库中
- 列的原因在select列表中无效,因为它不包含在聚合函数或GROUP BY子句中
- 如何获取SQL Server数据的脚本?