我正在尝试获取表格的列名。我正在使用此代码:
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)
。
我做错了什么?
答案 0 :(得分:0)
不要在表名周围使用单引号:
SHOW COLUMNS FROM data;
我强烈建议您打开MySql Monitor窗口。如有疑问,请在其中键入命令进行验证。
我在发送命令之前使用调试器和断点。我从命令中复制文本并粘贴到MySQL监视器窗口进行验证。
编辑1:DESCRIBE命令
您还可以使用DESCRIBE命令:
DESCRIBE data;
编辑2:从列中检索值
如果我误解了你,从列中检索数据使用SELECT命令:
SELECT column1
FROM data;