sql怎么删除约束(sql删除约束时错误提示不是约束)

http://www.itjxue.com  2023-01-27 00:33  来源:未知  点击次数: 

sql怎么删除主键约束

--【查找主键名】

--SQLSERVER

select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')

--ORACLE

SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'

--【删除约束】

ALTER TABLE 表名 DROP CONSTRAINT 约束名/主键名

--ORACLE

--删除主键连同索引

ALTER TABLE 表名 DROP CONSTRAINT 约束名 CASCADE DROP INDEX;

或者

ALTER TABLE ZQDYGXB DROP PRIMARY KEY CASCADE DROP INDEX;

想删除sql数据库里的字段 但是有check约束 请问怎么才能删掉

1.首先要把约束删掉,一般你删除时,都会报错,并把约束显示出来的,或者把表的创建脚本导出来,

就可以看到对应栏位的约束了.

2.删除对应栏位;

例如:

alter

table

mp_report

drop

CONSTRAINT

[DF__mp_report__test1__0CBAE877]

alter

table

mp_report

drop

column

[test1]

SQL Server 2008中怎么删除约束

1.使用企业管理器删除约束

操作步骤如下:

在企业管理器中打开一个存在约束的数据表,然后在设计表窗口中可以删除主键约束和默认约束,删除其他类型的约束需打开“属性”对话框,然后在指定的约束选项卡中单击“删除”按钮即可删除

2.语法:

ALTER TABLE table_name

DROP CONSTRAINT constraint_name [,…n]

参数说明:

l constraint_name:约束名称。

sql server怎样删除外键约束?

1.首先,我们使用SQLSERVER2008打开需要删除外键约束的表,点击左侧的“dbo”通道项,选择“setclick”。

2.问题后,我们鼠标左键单击页面上的“删除主键”选项。

3.然后左键点击“是”在弹出页面中删除。

注意事项:

可以双击键约束来添加外键约束,它有四个不同的选项:CASCADE、SETNULL、NOACTION、restricted。

1.级联:删除或更新父表中相应的行,并自动删除或更新表中匹配的行。[在删除CANSCADE和更新CANSCADE都支持InnoDB。

2.SETNULL:删除或更新父表中对应的行,并将子表中的外键列设置为空。注意,这些外键列没有设置为NOTNULL。InnoDB支持删除集空值和更新集空值。

3.无操作:InnoDB拒绝删除或更新父表。

4.限制:拒绝删除或更新父表。

SQL中的几种约束的创建与删除

约束的目的就是确保表中的数据的完整性。

常用的约束类型如下:

主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空

唯一约束:(Unique Constraint) 要求该列唯一,允许为空,但只能出现一个空值

检查约束:(Check Constraint) 某列取值范围限制、格式限制等。如有关年龄的限制

默认约束:(Default Constraint) 某列的默认值,如我们的男性学员比较多,性别默认为男

外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列

一、添加约束

在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。

添加约束的语法如下:

Code:

Alter Table 表名

Add Constraint 约束名 约束类型 具体的约束类型

上述语法标识修改某个表,添加某个约束,其中约束名的命名规则推荐采用"约束类型_约束字段"这样的形式。

Code:

---添加主键约束

Alter Table stuInfo

Add Constraint PK_stuNO primary Key(stuNo)

---添加唯一约束

Alter Table stuInfo

Add Constraint UQ_stuID unique(stuID)

---添加默认约束

Alter Table stuInfo

Add Constraint DF_stuAddress default('地址不详') for stuAddress

---添加检查约束

Alter Table stuInfo

Add Constraint CK_stuAge check(stuAge between 15 and 40)

---添加外键约束

Alter Table stuMarks

Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

二、删除约束

如果错误的添加了约束,则可以删除约束

删除约束的语法如下:

Code:

Alter Table 表名

Drop Constraint 约束名

附加:在创建表的时候同时添加约束的写法:

Code:

use stuDB

go

if exists(select * from Sysobjects where name = 'stuInfo')

drop table stuInfo

go

create table stuInfo

(

stuName varchar(20) not null primary key(stuName)

,stuID int not null unique(stuID)

,stuAddress varchar(20) not null default('地址不详')

,stuAge int not null check(stuAge between 15 and 40)

)

(责任编辑:IT教学网)

更多

推荐网络媒体文章