<cftry>
<cftransaction>
<cfquery name="insert1" datasource="test">
insert into bmw1 (fname) values ('#form.fname#')
</cfquery>
<cfquery name="getid" datasource="test">
select LAST_INSERT_ID() as newid
</cfquery>
<cfset newid = getid.newid>
<cfquery name="insert2" datasource="test">
insert into bmw2 (lname, bmw1_id) values ('#form.lname#', #newid#)
</cfquery>
<cfquery name="insert3" datasource="test">
insert into bmw2 (mname, bmw1_id) values ('#form.mname#', #newid#)
</cfquery>
</cftransaction>
<cfcatch type="database">
bad transcation
<cftransaction action = "rollback"/>
</cfcatch>
</cftry>
Please advise. Thanks!
I think you need your transaction code outside your try/catch.
Otherwise your original transaction is completing and then the catch
is firing and its told to rollback a transaction, but there no longer
is one because it's complete.
Nick