mysql 索引名字_MySql – 索引名称的别名(PRIMARY)

有没有办法为索引/主键设置别名?换句话说,MySql的主键名为“PRIMARY”,我想将其命名为其他名称,以使其与我的软件兼容.我知道主键必须命名为“PRIMARY”(有关讨论,请参阅here和here).所以我想,如果有办法为主键创建别名,那将解决我的问题.

注意:我不是在谈论列名,而是索引的实际名称,当您运行命令“show indexes from”命令时,将显示在“Key_name”列中.

2015年2月29日编辑以回应RandomSeed评论:

例如,PRIMARY KEY列是ithkey.在SQLServer中,索引名称为“ITHKEY”,因此我们的代码使用“ITHKEY”作为索引提示.但是,当然,这对我当前的MySql设置不起作用,因为ithkey的索引/主键名为“PRIMARY”,而不是“ITHKEY”.我想,我可以改变我的代码,在索引提示中引用“PRIMARY”,只是试图避免这种情况.

解决方法:

从功能的角度来看(就MySQL而言),PRIMARY键只是一个UNIQUE NOT NULL约束*.

因此,您可以使用您可以根据需要命名的UNIQUE NOT NULL索引替换PRIMAY KEY.

如果您的应用程序还需要PRIMARY KEY(或者如果没有主键的表的想法让您生病),您可以将两个密钥保留在表中,这会在CPU时间和存储方面使相应的开销翻倍.空间(所以这是一个坏主意).

MySQL没有索引别名这样的东西.

*如果没有为表定义PRIMARY KEY,MySQL将找到第一个UNIQUE索引,其中所有键列都是NOT NULL,而InnoDB将它用作聚簇索引(reference).

标签:mysql

来源: https://codeday.me/bug/20190708/1402145.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值