小记一下学习使用数据库时遇到的问题

1.建表时未设置主键约束名,此时删表主键会遇到困难,不能简单使用

ALTER TABLE NAME DROP CONSTRAINT 约束名;

而是要先找到数据表中主键的约束名,之后才可删除。


2.如何寻找数据表中主键的约束名

SELECT * FROM SYS.OBJECTS;

该代码可以查询数据库中的全部约束,我们可以找到自己要删除的表的主键(一般前面有PK),其type/ type_desc为PK/ PRIMARY KEY,如果以上均满足则证明主键存在。

此时我们可运用查询结果表中的parent_object_id做文章,寻找到数据表相应的object_id,这样我们就能找到主键约束名,之后便可使用1.中的语句删除主键。

SELECT NAME from SYS.OBJECTS WHERE TYPE_DESC
='PRIMARY_KEY_CONSTRAINT'
AND
PARENT_OBJECT_ID
= (SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = '要删除主键的表名'

之后我们执行该语句,得到的结果便是希望删除的主键的约束名。

执行1.中语句即可。比如这样

ALTER TABLE Student DROP CONSTRAINT PK__Student__DDDF6446A60A1362;

上面那个PK_Student_xxxxxxxxxxxxxxxxxx,就是我的表的主键的约束名。

学习使用数据库SQLServer (一)的更多相关文章

  1. PHP学习之-数据库操作

    PHP学习之-数据库操作 1.PHP支持那些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Or ...

  2. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  3. MySQL学习笔记-数据库内存

    数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...

  4. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

  5. day 46 Django 学习3 数据库单表操作以及反向解析

    前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变         2:反向解析之 ...

  6. sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝、不能打开到主机的连接,在端口1433:连接失败等 解决方案

    问题: sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝 telnet 127.0.0.1 1433     提示:不能打开到主机的连接,在端口1433:连接失败 解决方案: ...

  7. 重新学习MySQL数据库10:MySQL里的那些日志们

    重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...

  8. 重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系

    重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系 Innodb中的事务隔离级别和锁的关系 前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁 ...

  9. 重新学习MySQL数据库7:详解MyIsam与InnoDB引擎的锁实现

    重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现 说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同. 三类常见引擎: MyIsam :不支持事务,不 ...

  10. 重新学习MySQL数据库8:MySQL的事务隔离级别实战

    重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...

随机推荐

  1. RepVGG:一个结构重参数化网络

    ​  本文来自公众号"AI大道理" ResNet.DenseNet 等复杂的多分支网络可以增强模型的表征能力,使得训练效果更好.但是多分支的结构在推理的时候效率严重不足. 看起来二 ...

  2. GFS预报数据下载

    #更新#2019年6月12日之后,gfs预报场存放的目录变了,需要修改.get_gfs.pl第51行改为 $URL='https://nomads.ncep.noaa.gov/pub/data/ncc ...

  3. 《Kubernetes零基础快速入门》PDF电子书赠阅

    <Python 3.8从入门到精通(视频教学版)> <Kubernetes零基础快速入门> PDF电子书赠阅,个人学习使用,禁止任何形式的商用. https://pan.bai ...

  4. ToLua中判断引用的C#对象是否为nil

    C#层对象已经删除了,但是lua层判断不为nil.然后lua调用了,又会报nil的错误. 这里提供了一种判断方式. lua里的判断.这个Util.IsNull()是C#层代码. function He ...

  5. centos7普通用户拥有root权限并登录执行脚本

    1.useradd test 2.passwd test 3.usermod -s 脚本绝对路径 test 4.vi /etc/passwd修改test用户的uid和gid为0

  6. Linux 系统jdk安装详细教程

    安装jdk步骤先下载jdk的tar压缩包然后解压jdk并压缩至指定安装目录,如果不需要指定安装目录直接写tar -zxvf jdk压缩包名即可tar -zxvf jdk压缩包 -C /这里写指定安装目 ...

  7. mysql 取出分组后价格最高的数据

    如何用mysql 取出分组后价格最高的数据 ? 看到这个问题,就想到了用 max 函数和 group by 函数,先 group by 然后取得 max, 但是这样真的可以吗? 不可以 ! 为什么?  ...

  8. 如何把百度地图左边的搜索列表导出成excel里?

    有很多人问我,怎么样能够快速的把BAIDU地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 我就开发了一个小软件,专门为快速的实现导出数据到EXCEL. 为了使用方便,已经将全国的所又省份, ...

  9. Advent of Code 2015: Day 10

    JP's Blog GITHUB * FLICKR * RESUME  Search Programming Reviews Photography Maker Writing Research RS ...

  10. Blob下载

    下载方式 const aBlob = new Blob( array, options ); export function downLoadFile(data: ArrayBuffer, fileN ...