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

展开全部

给约束取32313133353236313431303231363533e58685e5aeb931333332623330名字,   目的是将来你可以比较容易的删除掉.

否则你要自己去查询数据字典表.

例如下面的例子.

唯一约束的名字,  是  t_123,  那么当我不需要这个约束的时候

如果我知道名字, 那么可以直接去删除掉.

-- 创建测试表.

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

如果我不指定约束名称, 例如:1> ALTER TABLE test_sub

2>   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  里面的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值