вставить 1 строку с большим количеством столбцов, используя массив в Perl DBI - PullRequest
2 голосов
/ 23 марта 2012

Я хотел бы вставить одну строку через perl dbi, но эта строка имеет МНОГО столбцов. Мой запрос будет выглядеть так:

$sth->prepare("insert into bigtable (col1, col2, ..., col25) values (?, ?, ..., ?)");
$sth->execute($val1, $val2, ..., $val25);

Но я хочу, чтобы это было чище. Если у меня есть массив @myArray, содержащий эти 25 переменных, есть ли способ сделать smt следующим образом:

$sth->prepare("insert into bigtable (col1, col2, ..., col25) values (?, ?, ..., ?)");
$sth->execute(@myArray);

1 Ответ

4 голосов
/ 23 марта 2012

Вы можете сделать:

my $placeholders = join ", ", ("?") x @array;
$sth->prepare("insert into bigtable (col...) values ($placeholders)");
$sth->execute(@array);
...