在SQL server已建好的表中设置主键、更改数据类型

news/2024/11/8 17:30:40/

        今天在设计公司的数据库时,发现了一个很奇葩的事情,SQL server在建成之后不能使用界面化工具直接设置主键,我发现这个功能很鸡肋啊,可能在SQL server设计时候是为了保持数据库的安全和纯净性,但是这个设计给使用人员造成了很大的不变,导致现在只能使用语句修改,下面我来分享一下语句如何设置修改主键。

设置主键并置为非空

        要先确实你要设置主键的的那列不为空,如果你的列为空,以下代码可以帮助你设为空并且添加主键。

/*Table_Member是数据表的名字,StudentID 是要设为主键的列,bigint 是主键列的数据类型*/
ALTER TABLE Table_Member ALTER COLUMN StudentID bigint NOT NULL;/*Table_Member是数据表的名字,StudentID 是要设为主键的列*/
ALTER TABLE Table_Member WITH NOCHECK
ADD CONSTRAINT PK_Table_Member PRIMARY KEY (StudentID);

        上述代码我相信已经说的很明确了!!!

更改已经建好的表中主键列的字符类型

同样的,这个操作也要分为两步,在SQL server 的设计理念中,主键列不可更改数据类型,如果要将不是主键的列更改字符类型,直接跳到第二步。

ALTER TABLE [表名] DROP CONSTRAINT [主键约束名]
ALTER TABLE [表名] ALTER COLUMN [列名] [数据类型]


http://www.ppmy.cn/news/833904.html

相关文章

HiveSQL 分区表

文章目录 1. 分区表概念2. 分区表语法3. 分区表加载数据3.1 静态分区3.2 多重分区3.3 动态分区3.4 注意事项 1. 分区表概念 当Hive表对应的数据量大、文件个数多时,为了避免查询时全表扫描数据,Hive支持根据指定的字段对表进行分区,分区的字…

torch.argmax()函数【求最大值的索引,并让指定维度消失】

torch.argmax(input, dimNone, keepdimFalse) argmax函数:返回指定维度最大值的索引,dim指定某一维度,那么这一维度就会消失,返回的所有维度会少这个dim指定的维度,根据这个返回的维度,确定对哪个维度采取a…

MySQL修改表的主键字段

ALTER TABLE sleep_device_day_temp DROP PRIMARY KEY ,ADD PRIMARY KEY ( id,id2,id3 );

SQLserver如何设置主键和外键?

例如:有两个表DLB(登录表)和XSB(学生表) 要求:把XSB的XH列设置为主键,DLB的XH列设置为外键。 操作:界面式:选中其中一个表,右键设计,选中XH&…

优思学院|六西格玛全面入门指南

I. 引言 六西格玛的定义 六西格玛(Six Sigma)是一种基于数据、以客户为导向、不断改进的方法论,用于提高组织中过程和产品的质量。六西格玛旨在消除缺陷,减少过程中的变异性,从而提高客户体验,并增加组织…

百度Apollo的智驾「变数」

2022年10月27日,百度旗下汽车品牌—集度“月探索越值得探索”新车发布会上,首款汽车机器人ROBO-01探月限定版正式发布,定价39.98万元。 按照计划,集度将搭载点到点领航辅助 PPA(Point to Point Autopilot)…

msvcp71.dll丢失怎样修复,msvcp71.dll丢失的三个解决方法

在运行游戏,软件程序的时候,电脑提示msvcp71.dll丢失怎样修复?下面小编就开始介绍msvcp71.dll在电脑系统中的的目录,作用,以及丢失后三个解决方法。 目录 msvcp71.dll通常位于系统目录里: msvcp71.dll丢失…

神经网络中,前向传播、反向传播、梯度下降和参数更新是怎么完成的

神经网络中,前向传播、反向传播、梯度下降和参数更新是怎么完成的 在神经网络的训练过程中,前向传播、反向传播、梯度下降和参数更新是按照以下顺序完成的: 前向传播(Forward Propagation): 在前向传播阶段…