_tidb_rowid 查询隐式自增id失败,ERROR 1054 (42S22): Unknown column ‘_tidb_rowid’ in ‘field list’

TiDB版本 3.0.7
如下所示:
mysql> select _tidb_rowid from t_server_alert_ddos_flood;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 16377489
Current database: test

ERROR 1054 (42S22): Unknown column ‘_tidb_rowid’ in ‘field list’

  1. 麻烦查看下 tidb.log 是否有报错?
  2. select _tidb_rowid from t_server_alert_ddos_flood limit 1; 是否能够成功?

不是所有表都有 _tidb_rowid 的,如果主键是一个 int 类型,就不会有 _tidb_rowid。

那出现id自增不连续的问题,是因为每个tidb有自己的缓存区域,如果使用负载均衡会轮询访问,导致id跳区间 这个样子是吧

limit 也是不能成功的 tidb_stderr.log 中没有错误日志
字段是
id | bigint(255) unsigned | NO | PRI | NULL | auto_increment |

好的,那就是上面说的,这个表不包含,多谢。

补充下,alter-primary-key开启时tidb不再使用整数型主键作为rowid,此时所有表都可查_tidb_rowid

这个补充很有帮助

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