在SQL Server中将列类型从Char更改为Varchar

我有一个主键’username’的表,它是’Char’,我必须将其更改为varchar.
有一种方法可以做到这一点而不会丢失数据?
导致它的主键并级联所有其他表.

谢谢.

解决方法

如果此列是您的许多其他表引用的表上的主键,那么它将涉及更多:

>删除引用该主键的所有其他表中的所有外键约束>删除表上的主键约束>更改列的数据类型(ALTER TABLE …. ALTER COLUMN ….. VARCHAR(n)NOT NULL)>重新创建主键约束>将每个引用表中每个外键列的数据类型更改为相同的数据类型>重新建立从所有其他表到新创建的VARCHAR(n)主键列的所有外键关系

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...