我從來沒有做過交易(在編程方面),所以我不知道是否有什麼問題我的腳本或別的東西:DBM ::深:問題與交易
#!/usr/bin/env perl
use warnings;
use 5.012;
use DBM::Deep;
my $db = DBM::Deep->new('foo.db');
my $trans = $db->supports('transactions');
say 'Does ', $trans ? '' : 'NOT ', 'support transactions';
$db->{key} = 'value';
$db->begin_work;
$db->{key1} = 'value2';
$db->rollback;
$db->{key1} = 'value1';
$db->commit;
輸出:評論
# Does support transactions
# DBM::Deep: Cannot allocate transaction ID at ./perl1.pl line 12
部分:
my $db = DBM::Deep->new(file => 'my.db', num_txns => 1);
$db->{key} = 'value';
$db->begin_work;
$db->{key1} = 'value2';
$db->rollback;
$db->begin_work;
$db->{key1} = 'value1';
$db->commit;
另外,我必須爲交易的HEAD + 1設置num_txns爲2(或更高) - 1(如文檔中所述)。 – 2015-06-19 06:31:40