in reply to perl-mysql question - rollback...

Is that really your code? You spelled "preference" wrong in the SQL.

Assuming that was a typo in putting it in here, the problem may be in your understanding of NOT NULL constraints in MySQL. It actually allows you to insert NULL in a NOT NULL column, but silently changes it to a default value (probably zero for a MEDIUMINT). To test this properly put in a crazy number for $last_id instead of undef.

Replies are listed 'Best First'.
Re: Re: perl-mysql question - rollback...
by kiat (Vicar) on Dec 11, 2003 at 04:24 UTC
    Thanks perrin, that was a typo. I modified the code from the original to reduce the number of fields to make it look less cluttered and hence the typo slipped in

    The rollback worked when I inserted a tweaked $last_id (i.e. none of the changes to the tables was effected, which is the desired result).

    #$last_id = 10;
    However, after I commented the tweaking of $last_id (so the code is back to normal) and called new_account, for some reasons, the changes weren't effected. I had to shut down the MySQL server to get make calling new_account work.

    updated

    The member_id is defined as AUTO_INCREMENT. With the code as it is (i.e. inserting undef), the member_id is automatically increased.