如何用注释的方式创建非聚簇索引

【TiDB 使用环境】测试
【TiDB 版本】v8.5.1
【操作系统】Rocky9.4
【部署方式】本地部署
【集群数据量】100G
【集群节点数】6
【问题复现路径】创建非聚簇索引表
【遇到的问题:问题现象及影响】

CREATE TABLE t1 (a BIGINT, b VARCHAR(20), PRIMARY KEY(a) /*T![clustered_index] NONCLUSTERED */);

创建非聚簇索引但是表是聚簇索引的:

(root@127.0.0.1) [test]>CREATE TABLE users (
    ->     id INT NOT NULL,
    ->     name VARCHAR(100) NOT NULL,
    ->     age INT NOT NULL,
    ->     PRIMARY KEY (id) /*T![clustered_index] NONCLUSTERED*/
    -> );
Query OK, 0 rows affected (0.07 sec)

(root@127.0.0.1) [test]>SHOW CREATE TABLE users;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                             |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users | CREATE TABLE `users` (
  `id` int NOT NULL,
  `name` varchar(100) NOT NULL,
  `age` int NOT NULL,
  PRIMARY KEY (`id`) /*T![clustered_index] NONCLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

不是可以的么?

八成用的 mysql 客户端,登陆的时候没有加 -c ,导致客户端根本没有往服务端发注释吧,可以去 dashboard 日志搜索查下表名

注释没生效吧,不同版本mysql客户端处理备注不一样,有的默认生效,有的需要加 -c参数,新一点的mysql客户端默认是带注释执行的

感谢,是这个原因

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