使用perl和mysql有一个很好的简单方法来获取列数吗?我生成sql选择代码,所以我不知道有多少列。我确实将列部分隔离,因此正则表达式解决方案可能很简单吗?
-edit-用于以下评论。
"select " . col . " FROM " #more code
col = "a, b, c, d" #how do i find out if theres 4 columns?
query->column_count(); #returns 4
col = "a, b, c.c, d, e, f"
query->column_count(); #return 6 etc.
答案 0 :(得分:3)
您可以获取'NAME' attribute of your statement中返回的列列表。
以下是一个例子:
my $query = "SELECT * FROM table";
my $qr = $dbi->prepare($query);
$qr->execute();
my $columns = $qr->{'NAME'};
printf "%d columns retuned\n", scalar @$columns;
答案 1 :(得分:-4)
$column_amount = @row; #i cant believed no one replied