[Dbix-class] DBIx how to update_or_create a table with primary
index is autoincrement ? getting erroneous data
Rajeev Prasad
rp.neuli at yahoo.com
Thu Sep 27 16:55:52 GMT 2012
friends,
I have a Table to update (empty right now), and the regularly 'update' exis=
ting info with changes AND add any new record which come up.
source data is coming from file. one record per line.
=A0=A0=A0 =A0=A0=A0 my @my_arr;=A0 #has 500 uniq entries
=A0=A0=A0 =A0=A0=A0 $schema->resultset('Mytable')->update_or_create(
=A0=A0=A0 =A0=A0=A0 {
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field1 =3D> $my_arr[0],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field2 =3D> $my_arr[1],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 field3 =3D> $my_arr[2],
=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 ...
=A0=A0=A0 =A0=A0=A0 },
=A0=A0=A0 =A0=A0=A0 {key =3D>'primary'}=A0=A0=A0 #field_id, auto increment =
value this field is NOT supplied in variables above.
=A0=A0=A0 =A0=A0=A0 );
What is happening is: DBIX is first adding the 'first' record, then updatin=
g it with consecutive records!!! it is not creating a fresh record for any =
record in the file. so after it finishes running, I am left with one record=
in Table which is updated 500 times, and has the last record in file as th=
e table record.
how to fix this?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20120927/f9c=
e0314/attachment.htm
More information about the DBIx-Class
mailing list