Để làm một chèn với Class :: DBI, bạn chỉ có thể làm:Tôi làm cách nào để cập nhật trong Class :: DBI mà không chọn bản ghi đầu tiên?
my $object = Object::DB->insert({ a => 1, b => 2, c => 3, ...});
Nhưng không có điều như vậy để cập nhật. Điều tốt nhất tôi có thể đưa ra được lựa chọn kỷ lục đầu tiên sau đó cập nhật nó:
my $object = Object::DB->retrieve($id);
my $object->set(a => 1, b => 2, c => 3, ...};
$object->update;
Đây không phải là hiệu quả kể từ khi tôi phải làm một SELECT đầu tiên, và sau đó một UPDATE thay vì chỉ một UPDATE.
Có cách nào tốt hơn để thực hiện việc này với Class :: DBI không? Tôi không muốn làm 42 $ object-> a (1), $ object-> b (2), vv, $ object-> update;
DBIx :: Lớp giúp việc này trở nên dễ dàng. Bạn thực sự nên xem xét di chuyển ra khỏi CDBI. – jrockway