tidb不能创建联合前缀索引吗?

mysql 里可以创建:
KEY idx_guid_yanzhengma (GUID(32),YANZHENGMA(32))

但是tidb里执行会报错:

alter table xxx add KEY KEY `idx_guid_yanzhengma` (`GUID`(32),`YANZHENGMA`(32))
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 40 near "KEY `idx_guid_yanzhengma` (`GUID`(32),`YANZHENGMA`(32))"

但是如果是单列的前缀索引,没问题可以创建,这是为什么呢??

tidb 是可以创建联合索引的,你这个 SQL 是语法有问题。这里多写了一个 key

如果是不支持的话,报错会提示 unsupported xxx

好尴尬啊,这。。。谢谢 :joy:

我也在纳闷,我前几天不是刚加过。。。。

感觉你是水贴的。。。

没 我还去官方文档查半天 :sweat_smile:

这玩意是一个数据库就能够有啊,mysql也一样的。。。。

就连clickhouse也行 :innocent:

我以为tidb还有啥特殊的

一般都用create index idx_name on table(clumn)

这两个写法有啥不同的效果吗?

create index必须写索引名,其余基本没什么区别

搜了一下 感觉还是alter table add index 好一些,可添加索引类型更多?

在mysql里alter table可以一次加多个索引,create index不行,但是6.1我记得一次也只能加一个,所以基本没啥区别了

受教了~ 谢谢!

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。