[Dbix-class] Duplicate entry error on create
Dermot
paikkos at googlemail.com
Wed Dec 9 17:16:31 GMT 2009
2009/12/9 Eden Cardim <edencardim at gmail.com>:
>>>>>> "Dermot" == Dermot <paikkos at googlemail.com> writes:
>
> Dermot> Hi, I am getting the following error when I attempt to
> Dermot> create a record.
>
> Dermot> DBD::mysql::st execute failed: Duplicate entry '0' for key 3
> Dermot> [for Statement "INSERT INTO products ( distribution,
> Dermot> caption, contributor_id, ...) VALUES(( ?, ?, ?, ?, ?, ?, ?,
> Dermot> ?, ?, ?, ? )" with ParamValues: 0='1', 1='Earth', 2='3'....)
>
> Dermot> Is 'key 3' referring to 'the 3rd item in the INSERT list
> Dermot> (contributor_id)?
>
> No, that's a mysql error, you're probably violating a constraint on your
> table with those values.
Yes. I was hoping I could find out what 'key 3' was referring to.
>
> No, you're just doing it wrong, try:
>
> my $row = $schema->resultset('Products')->find_or_create(
> {
> distribution => 1,
> caption => 'Earth',
> contributor => { code => $var, name => $name }
> }
> );
Oh! Should I be using the name of the accessor_name from the belongs_to?
Dp.
More information about the DBIx-Class
mailing list