C ++ MySQL - 无法获取列名

时间:2013-12-22 16:05:44

标签: c++ mysql

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

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)

我做错了什么?

1 个答案:

答案 0 :(得分:0)

不要在表名周围使用单引号:

SHOW COLUMNS FROM data;

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

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

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

DESCRIBE data;

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

SELECT column1  
FROM  data;