1.添加删除主键和外键

例如:

-----删除主键约束
DECLARE @NAME SYSNAME
DECLARE @TB_NAME SYSNAME
SET @TB_NAME = 'Date'
SELECT TOP 1  @NAME=NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC ='PRIMARY_KEY_CONSTRAINT' AND PARENT_OBJECT_ID = (
    SELECT OBJECT_ID
    FROM SYS.OBJECTS WITH(NOLOCK)
    WHERE NAME = @TB_NAME )
SELECT @NAME as PK
DECLARE @ALTERSQL NVARCHAR(MAX)
SET @ALTERSQL=N'ALTER TABLE '+@TB_NAME+'
DROP CONSTRAINT '+@NAME+''
EXEC SP_EXECUTESQL @ALTERSQL

----添加主键约束
alter table Date add constraint PK_Date primary key(ID)

----设置外键约束的SQL语句:
alter table student add constraint FK_student_classes foreign key(cla_id)  references classes(ID)

----删除外键约束
alter table student drop constraint FK_student_classes

2.自增属性的更新

------如果仅仅是指定值插入,可用以下语句,临时取消

SET IDENTITY_INSERT classes ON
INSERT INTO classes (ID,Name) VALUES(7,'测试1')
SET IDENTITY_INSERT [classes] OFF

-----新增一列,删除自增列,修改列名

alter table classes add ID_Temp int
update a set ID_Temp=ID

alter table classes drop column ID
exec sp_rename 'ID_Temp', 'ID', 'column'

--------通过修改系统关于该表的列属性,该方法使用不当将可能引起其它不可预料的错误(未操作成功)

sp_configure 'allow update',1
reconfigure with override
go
update syscolumns set colstat=0 where colstat=1 and id=object_id('tablename')
go
sp_configure 'allow update',0
reconfigure with override

SQL Server 如何添加删除外键、主键,以及更新自增属性的更多相关文章

  1. Sql Server约束的学习一(主键约束、外键约束、唯一约束)

    一.约束的分类 1.实体约束 实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束. 2.域约束 域约束是关于列的,对于所有行,某一列有那些约束,例如检查约束. 3.参照完整性约束 ...

  2. SQL server 创建表,索引,主键,外键

    if object_id('student', 'U') is not null drop table student go create table student( sno varchar(20) ...

  3. SQL Server 根据表名取得 表主键

    exec sp_primary_keys_rowset N'表名',NULL

  4. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

  5. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个 ...

  6. SQL反模式学习笔记4 建立主键规范【需要ID】

    目标:建立主键规范 反模式:每个数据库中的表都需要一个伪主键Id 在表中,需要引入一个对于表的域模型无意义的新列来存储一个伪值,这一列被用作这张表的主键, 从而通过它来确定表中的一条记录,即便其他的列 ...

  7. SQL SERVER 表添加新字段

    SQL SERVER 表添加新字段 ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL; -- doc_exa 是表名 -- column_b 是新加的 ...

  8. flask对数据库的外键 主键

    近期一直在学flask框架,后悔当初没有好好学习数据库.一个外键的知识,真的是太....蓝瘦香菇 创建数据库 class Users(db.Model): __tablename__ = 'users ...

  9. 【Android】Android实现监听返回键,主键(HOME),菜单键

    目录结构: contents structure [+] 简介 监听 返回键 监听 主键(Home键) 监听 菜单键 一.简介 本篇文章介绍如何在Android中实现监听返回键,主键,菜单键.一般情况 ...

随机推荐

  1. [初识]使用百度AI接口,图灵机器人实现简单语音对话

    一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/  (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...

  2. 关于IE9 table显示错位的问题

    首先,win10无法安装IE9,所以需要用IE11模拟IE9,这样:http://www.w10zj.com/Win10xy/Win10yh_638.html: 其次,table显示错位的可能原因:h ...

  3. Elasticsearch重要文章之四:监控每个节点(ThreadPool部分)

    http://zhaoyanblog.com/archives/754.html ThreadPool部分 Elasticsearch 内部使用了线程池,通过这些线程池之间的合作完成工作,在需要时传递 ...

  4. 配置kali linux

    在7月底的时候,安全加介绍Fireeye出品的 免费恶意软件分析工具FlareVM,还可进行逆向工程和渗透测试 .今天是看到绿盟科技的一篇介绍Kali Linux配置的文章,这个工具也进入了 渗透测试 ...

  5. Java并发编程总结3——AQS、ReentrantLock、ReentrantReadWriteLock

    本文内容主要总结自<Java并发编程的艺术>第5章——Java中的锁. 一.AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步 ...

  6. select2插件使用小记

    插件官网:https://select2.github.io/examples.html 页面引入: // 页面顶部 <link rel="stylesheet" type= ...

  7. 解决修改css或js文件,浏览器缓存更新问题。

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从 ...

  8. C# 发送HTTP请求超时解决办法

    request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的request的keepAlive设置为false ...

  9. SQLAlchemy介绍和基本使用

    pymysql:pymysql是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip3 install pymysql.如果您用的是Python 3,请安装pymysql 豆瓣源 ...

  10. AndroidStudio -- AndroidStuido中找不到cache.properties文件

    AndroidStuido中找不到cache.properties文件 报错信息: 16:32:10 Gradle sync failed: C:\Users\***\.gradle\caches\2 ...