create table venue ( venue_id integer not null auto_increment primary key, venue_name varchar(30) not null ); #### package venue; use strict; use DBIx::Table; use vars qw / @ISA /; @ISA = qw / DBIx::Table /; sub describe { my $self = shift || return undef; $self->{'table'}='venue'; $self->{'unique_keys'}=[qw /venue_id/ ]; $self->{'columns'}= { venue_id => { 'immutable' => 1, 'autoincrement' => 1 }, venue_name => {quoted => 1 } }; } 1; #### my $obj2 = create venue(db=>$dbh); #### $obj2->set({venue_name=>'My New Venue'}); $obj2->commit(); #### A value is required for venue_id in row 0 in order to commit #### $obj2->set(change=>{ venue_name => 'newVenue', venue_id=>$new_id}); $obj2->commit(); #### Attempt to modify immutable column: venue_id