学习使用数据库SQLServer (一)
小记一下学习使用数据库时遇到的问题
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 (一)的更多相关文章
- PHP学习之-数据库操作
PHP学习之-数据库操作 1.PHP支持那些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Or ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- day 46 Django 学习3 数据库单表操作以及反向解析
前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变 2:反向解析之 ...
- sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝、不能打开到主机的连接,在端口1433:连接失败等 解决方案
问题: sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝 telnet 127.0.0.1 1433 提示:不能打开到主机的连接,在端口1433:连接失败 解决方案: ...
- 重新学习MySQL数据库10:MySQL里的那些日志们
重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...
- 重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系
重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系 Innodb中的事务隔离级别和锁的关系 前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁 ...
- 重新学习MySQL数据库7:详解MyIsam与InnoDB引擎的锁实现
重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现 说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同. 三类常见引擎: MyIsam :不支持事务,不 ...
- 重新学习MySQL数据库8:MySQL的事务隔离级别实战
重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...
随机推荐
- 在uniapp中,定义导航栏左侧,右侧按钮
在page.json中 代码: { "path": "pages/pandian", "style": { "navigation ...
- GuiLite 学习笔记(一) Mainloop与ViewTree
以GuiLiteSamples中的HelloSlide 为例,剖析一下GuiLite的设计思路和刷新机制: 首先是main.cpp; 可以分成3部分: 1.根据fb mode拿到对应的phy_fb, ...
- AndroidStudio 集成kotlin,以及Kotlin-gradle-plugin-1.5.0.jar 下载失败
配置Kotlin buildscript { ext.kotlin_version = '1.5.0' repositories { maven{url 'http://maven.aliyun.co ...
- SignalR 的应用
一.应用场景: 在项目中有一个地方需要定时查询数据库是否有数据,如果有则显示在界面上. 二.可以使用ajax定时查询来做: var inter = window.setInterval(refresh ...
- C# Visual Studio等,学习地址
Visual Studio 2022 学习地址 Visual Studio系列学习地址 Csharp11 学习地址 Csharp 学习地址 W3School公营,推广技术,免费学习 W3CSchool ...
- AngularJS UI
1, angular ui 自定义弹框 <script type="text/ng-template" id="stackedModal.html"> ...
- 【快速学】指针是什么?指针常量、常量指针是什么?(C++)
0.先上总结 指针是什么?指针是个数据类型.你可以定义一个指针变量,它里面存储的是个地址 如int a=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a 同理,int *b= ...
- 38.Ribbon
Ribbon默认是懒加载,所以初次请求时间最长,后续请求会变快,可以通过修改为饥饿加载 ribbon.eager-load.enabled=true ribbon.eager-load.clients ...
- nginx 解决 405 not allowed错误
1.http nginx.conf文件 error_page 后 增加代码 error_page 405 =200 @405; location @405 { proxy_method GET; pr ...
- Git配置新学
Git中的AutoCRLF与SafeCRLF换行符问题 https://zhuanlan.zhihu.com/p/380574688 https://xiaozhuanlan.com/topic/40 ...