sub insert {
my ($self) = @_;
my $data = $self->{data};
my $keys = join( ', ', keys $data);
my $values = join( ', ', map qq('$_'), values $data);
my $sql = "INSERT INTO tbl ($keys) VALUES ($values);";
my $sth = $self->{dbh}->prepare($sql);
$sth->execute();
}
我有一种方法可以将哈希引用的内容插入到一个表 sqlite 数据库中。我想知道如果哈希键还不是列,是否有一种简单的方法可以将列添加到表中。显然,如果其中一个键不是列名,则插入将失败。我可以利用该失败,添加缺少的列,然后重做插入。还是每次要插入数据库时都必须根据所有键检查所有列?(所有键都有 TEXT 值)