C++ MySQL - 无法获取列名

C++ MySQL - Failing getting column names

本文关键字:获取 MySQL C++      更新时间:2023-10-16

我正在尝试获取表的列名。我正在使用以下代码:

MYSQL_RES *res_set;
    MYSQL_ROW row;
    string query = "SHOW COLUMNS FROM `data`";
    mysql_query(this->_connect, query.c_str());
    res_set = mysql_store_result(this->_connect);
    if(mysql_num_rows(res_set) == 0){
        printf("> error. mysql did not return any rows for the given player name.n");
    }
    row = mysql_fetch_row(res_set);
    cout << row[4];

该行中的第一列是相关的。但是以下的(这里是"4")是其他类似char(255).

我做错了什么?

不要在表名两边使用单引号:

SHOW COLUMNS FROM data;

我强烈建议您打开MySql Monitor窗口。 如有疑问,请在其中键入命令进行验证。

我在发送命令之前使用调试器和断点。 我从命令中复制文本并粘贴到 MySQL 监视器窗口中进行验证。

编辑 1:描述命令
您还可以使用 DESCRIBE 命令:

DESCRIBE data;

编辑 2:从列
中检索值如果我误解了您,请使用 SELECT 命令从列中检索数据:

SELECT column1  
FROM  data;