QQ网名大全

SQL在设置约束和索引时,有时会取个名字,请问这个名字是干嘛用的?怎么使用?它存在哪里了?

给约束取名字,目的是将来你可以比较容易的删除掉.
否则你要自己去查询数据字典表.
例如下面的例子.
唯一约束的名字,是 t_123,那么当我不需要这个约束的时候
如果我知道名字,那么可以直接去删除掉.
****6-创建测试表.CREATE TABLE test_123(id INT,value VARCHAR(10));GO-创建 UNIQUE 约束.ALTER TABLE test_123 ADD CONSTRAINT t_123 UNIQUE(value);GO-UNIQUE 约束.ALTER TABLE[test_123]DROP CONSTRAINT[t_123];GO
如果我不指定约束名称,例如:
1231>ALTER TABLE test_sub2>ADD UNIQUE(value)3>go
那么这种情况下,如果我要删除这个约束,就需要去查询数据字典表。由于各个数据库厂商的数据字典表各有不同,下面简单列一些常用的数据库。Oracle 参考 USER_CONSTRAINTS 视图
SQL Server
对于 唯一约束,参考 sys.indexes 视图里面的 is_unique_constraint=1 的数据
对于外键约束,参考 sys.foreign_keys 视图里面的数据
对于 Check约束,参考 sys.check_constraints 视图里面的数据
对于 MySQL
可以参考 INFORMATION_SCHEMA.TABLE_CONSTRAINTS 里面的数据。
佚名
2024-06-16 16:31:12
最佳回答
类似问题(10)