[Catalyst] How to insert from form to MySQL with autoincrement
primary key?
Paul Henrich
paul at worldhive.net
Sun Dec 9 20:27:42 GMT 2007
Never mind re. PK::Auto. If you have the newest DBIx::Class, that
gets automatically loaded. However, you may still need to do
__PACKAGE__->set_primary_key();
On 9 Dec 2007, at 3:19 PM, Paul Henrich wrote:
> Hi Martin,
>
> You might check to make sure that you are loading PK::Auto in
> MyAppDB::MyTable:
>
> # ...
>
> use base 'DBIx::Class';
> __PACKAGE__->load_components("PK::Auto", "Core");
> __PACKAGE__->table("mytable");
>
> # then make sure you declare the primary key later on...
> __PACKAGE__->set_primary_key("mytable_id");
>
>
> All the best,
> Paul
>
>
> On 9 Dec 2007, at 6:20 AM, Martin Ellison wrote:
>
>> Sorrry, this is another newbie question.
>>
>> I am using HTML::Widget and DBIx::Class to do simple CRUD on some
>> MySQL tables. I have defined an auto-increment primary key on one
>> of my tables, and I want to use an HTML form to populate and
>> create a new object. I then want to retrieve the newly-generated key.
>>
>> Sup[pose the SQL has:
>>
>> CREATE TABLE mytable (
>> mytable_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
>> title VARCHAR(64) NOT NULL,
>> date VARCHAR(10) NOT NULL,
>> PRIMARY KEY (mytable_id);
>>
>> Having read the examples, I thought that all I had to do is:
>>
>> my $obj = $c->model(q{MyAppDB::MyTable})->new({});
>> $obj->populate_from_widget($result);
>> my $newid = $obj->mytable_id;
>>
>> but I am finding that the generated SQL is in fact setting the key
>> field to zero, and then the last line of the above code is getting
>> an undefined value back.
>>
>> But then I have not actually told my DBIx::Class package for the
>> table that the column is autoincrement -- do I need to do this and
>> if so how?
>>
>> --
>> Regards,
>> Martin
>> (m.e at acm.org)
>> IT: http://methodsupport.com Personal: http://thereisnoend.org
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive: http://www.mail-archive.com/
>> catalyst at lists.rawmode.org/
>> Dev site: http://dev.catalyst.perl.org/
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20071209/10263c93/attachment-0001.htm
More information about the Catalyst
mailing list