I figured it out - I wasn't calling commit() on the connection object (I
thought autocommit was set by default...?).

Sorry for bugging y'all again!

Ian.

On Fri, Mar 9, 2012 at 5:04 PM, Ian Clarke <[email protected]> wrote:

> Ok, so I changed it to use the values() rather than the set() syntax:
>
>   final ImagesRecord record = create.insertInto(Tables.IMAGES, Images
> .RESIZED_URL, Images.ORIGINAL_URL, Images.WIDTH, Images
> .HEIGHT).values(resizedUrl, pi.original.sourceUrl.toString(),
> pi.processed.getWidth(),pi.processed.getHeight()).returning(Images
> .ID).fetchOne();
> This time record.getValue(Images.ID) returned the number 5, but still no
> new rows have appeared in the images table in the DB!  This is very strange.
>
> Ian.
>
> On Fri, Mar 9, 2012 at 4:32 PM, Ian Clarke <[email protected]> wrote:
>
>> I'm trying to insert a new row into a MySql table, which has an
>> autoincrement primary key called id.  I want to insert the row, and then
>> get the newly created id:
>>
>> final ImagesRecord record = create.insertInto(Tables.IMAGES)
>>
>>    .set(Images.RESIZED_URL, resizedUrl).set(Images.ORIGINAL_URL,
>> pi.original.sourceUrl.toString()).set(Images.WIDTH,
>> pi.processed.getWidth()).set(Images
>> .HEIGHT, pi.processed.getHeight()).returning(Images.ID).fetchOne();
>>
>> System.out.println(record.getValue(Images.ID));
>>
>> This prints "null" and no new record is created in the database, even
>> though no errors are reported...
>>
>> Any ideas?
>>
>> Ian.
>>
>
>
>
> --
> Ian Clarke
> Blog: http://blog.locut.us/
>
>


-- 
Ian Clarke
Blog: http://blog.locut.us/

Reply via email to