在nodejsmysql中识别主键

在nodejsmysql中识别主键,mysql,node.js,Mysql,Node.js,我在我的electron应用程序中使用NodeJS的mysql包,希望从SELECT语句的响应中确定请求表的哪些键是主键 那么让我们假设我会打这个电话: sql.query('SELECT * FROM `npc_vendor` WHERE `entry`= 7324;', (err, result, fields) => { if (err) return; console.log(result, fields); }); 作为响应,我得到了结果中的行和字段中的字段信息

我在我的electron应用程序中使用NodeJS的
mysql
包,希望从SELECT语句的响应中确定请求表的哪些键是主键

那么让我们假设我会打这个电话:

sql.query('SELECT * FROM `npc_vendor` WHERE `entry`= 7324;', (err, result, fields) => {
    if (err) return;
    console.log(result, fields);
});
作为响应,我得到了
结果
中的行和
字段
中的字段信息。有没有办法知道哪些字段是该表中的主要字段


我觉得信息可能在字段的
标志中,但我找不到任何文档。

您可以使用MySQL命令行客户端检查标志。我碰巧有一个名为
users
的测试表,让我们看看它

我使用
--column type info
选项运行客户端:

$ mysql --column-type-info
在mysql客户端中,我进行了一次选择,在返回结果集之前,我看到了列信息的输出:

mysql> use test
mysql> select * from users;

Field   1:  `id`
Catalog:    `def`
Database:   `test`
Table:      `users`
Org_table:  `users`
Type:       LONG
Collation:  binary (63)
Length:     11
Max_length: 1
Decimals:   0
Flags:      NOT_NULL PRI_KEY NO_DEFAULT_VALUE NUM PART_KEY 

...
这将在标志中显示
PRI_KEY

此列信息基本上是MYSQL_字段结构。这里有记录:


搜索手册页面大约60%的地方,直到找到标志值表。标志是位字段中的位。这里定义了位值:

是的,所以我正确地假设了。。。还有一个问题是我在哪里可以找到这些标志的文档。我提供了我将使用的参考文献的链接。