Perlコーディング初心者質問スレ Part 59
■ このスレッドは過去ログ倉庫に格納されています
0331nobodyさん
2009/03/31(火) 16:12:44ID:???sub TransGender {
my $sth = $dbh->prepare('SELECT id, name, sex FROM Person;');
$statusHandle->execute;
while(my @row = $statusHandle->fetchrow_array) {
my ($id, $name, $sex) = @row;
$sex = ($sex eq 'male') ? 'female' : 'male';
my $updh = $dbh->prepare('UPDATE Person WHERE id=? SET sex=?;');
$updh->execute($id, $sex);
}
}
以下の警告が出て更新出来なかった。
DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c
この場合まずIDを問い合わせて配列に格納し、
今度はIDから一つ一つデータを問い合わせて$sth->finish()した後に更新するの?
なんか定石みたいなのってありますかね。
■ このスレッドは過去ログ倉庫に格納されています