我想获取数据库表的所有信息来生成DDL语句,但是没有办法判断索引是否是全文索引。
// 获取连接
Connection conn = sqlSessionFactory.openSession().getConnection();
// 获取元数据
DatabaseMetaData metaData = conn.getMetaData();
String catalog = conn.getCatalog();
String schema = conn.getSchema();
ResultSet rs = metaData.getIndexInfo(catalog, schema, tableName, false, false);
String indexName = rs.getString("INDEX_NAME");
String columnName = rs.getString("COLUMN_NAME");
boolean unique = rs.getBoolean("NON_UNIQUE");
int type = rs.getShort("TYPE");
SELECT * FROM mysql.innodb_index_stats
WHERE table_name = 'mytablename';
然后看看它的
index_name
是否为 FTS_DOC_ID_INDEX
和 stat_description
为 FTS_DOC_ID
。
(适用于 MySQL 8.0;我不知道旧版本或 MariaDB 是否有效。)