Postgre SQL   发布时间:2022-05-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了database – 为什么两个表不能有同名的索引?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在同一个数据库(POSTGResql)中的两个单独的表上创建索引,并且我得到一个错误,指出索引已经存在.这是真的,但是,索引存在于另一个表中.更改名称后,它工作.

我想知道为什么会这样?为什么数据库设计为两个表不能具有相同的索引名称?

然答案不同,但我找到了两个回答这个问题的消息来源.一个用于MySQL,另一个用于POSTGRes:

In POSTGRes how do I add index to exisTing table?

Same index name for two tables

解决方法

您可以拥有两个同名的索引.他们只是不能在同一架构中.就像你可以有两个同名的表,但不是在同一个模式中.

sandBox=# create scheR_877_11845@a test;
CREATE scheR_877_11845@A
sandBox=# create table public.a (a_id integer not null);
create table
sandBox=# create table test.a (a_id integer not null);
create table
sandBox=# create index a_IDx on public.a (a_ID);
CREATE INDEX
sandBox=# create index a_IDx on test.a (a_ID);
CREATE INDEX

这反映了POSTGResql设计师的决定. sql标准不涉及创建索引.

大佬总结

以上是大佬教程为你收集整理的database – 为什么两个表不能有同名的索引?全部内容,希望文章能够帮你解决database – 为什么两个表不能有同名的索引?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:但是