sql怎么删除约束(sql删除约束时错误提示不是约束)
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)
)