我在Perl中有一个数组,如下所示(只有更大)。我的数组名为@sqlInsert
元素1 一个 乙 ç
元素2 一个 乙 ç
元素3 一个 乙 ç
我想用这个数据中的信息填充MySQL表。所以,我想要排成一排:
for ($count=0; $count<@arrayInsert; $count++) {
INSERT INTO table values ("sqlInsert[$i]","sqlInsert[$i+1]","sqlInsert[$i+2]","sqlInsert[$i+3]")
}
任何指针?
答案 0 :(得分:3)
使用DBI placeholders和...
......数组切片:
my $sth = $dbh->prepare( 'INSERT INTO table VALUES ( ?, ?, ?, ? )' );
$sth->execute( @sqlInsert[ $n .. $m ] );
...或拼接:
while( @sqlInsert ) {
$sth->execute( splice @sqlInsert, 0, $length, () );
}
创建数据结构可能更容易,例如数组数组,它已经为每个结构分组元素:
foreach my $ref ( @sqlInsert ) {
$sth->execute( @$ref );
}