Select语句应该只返回一条记录

时间:2013-12-23 08:00:46

标签: perl perl-module

我想从数据库mysql中获取并打印一条记录。

#Select backlogs
{
        my $backlog_req = "select id, name, startDate, endDate, parent_id " .
                                                " from backlogs " ;
                                               "where backlogtype='Iteration' and id = $iteration" ;
print "ITERATION_ID : " . $iteration . "\n";
        my $sth = $dbh->prepare( $backlog_req );
        $sth->execute() ;
        $sth->bind_columns( undef, \$backlog_id, \$bl_name, \$bl_sd, \$bl_ed, \$prod_id ) ;
        while( $sth->fetch() ) {
                $Backlogs->{ $backlog_id } = { name => $bl_name, start_date => substr($bl_sd, 0, 10), end_date => substr($bl_ed, 0, 10) } ;
                print "$bl_name ($backlog_id): $bl_sd -> $bl_ed\n";
        }

这将返回具有Iteration的所有行作为backlogtype。我只想通过命令行参数提供backlogtype作为Iteration和Id。正如我在哪里指定的那样。

1 个答案:

答案 0 :(得分:3)

改变这个:

" from backlogs " ;

到此:

" from backlogs " .

在查询中包含WHERE - 子句。

此外,您应该将use warnings;添加到脚本的开头。它会警告你这件事(通过抱怨你的WHERE - 只有句子的陈述是Useless use of string in void context)。