On 01.Mar.2002 -- 03:34 PM, Giuseppe Di Pierri wrote:
> Hi there,
> 
> I have a problem using the DatabaseAddAction in MySQL.
> 
> I would do two table insertions, one after an other like the following
> example:

The value is written to a request attribute (table.column) that you
can use if you were using the manual method of determining the id
(looks up current max value +1).

I was about to check in new database actions to scratchpad (atually,
new versions of the ones already there) but since I encountered
problems with datasources with today's CVS I cannot verify that they
still work. Those do understand mysql's autoincrement columns. But
they use a slightly different database.xml syntax *and* their name
and their configuration sitemap-wise will change with my checkin.

If you'd like to stay tuned.... should be only a matter of days
now.

>   INSERT INTO base (id,...) VALUES(NULL,...); 
> # id is defined as INT NOT NULL AUTO_INCREMENT
> 
>   INSERT INTO derived (id,....) VALUES(LAST_INSERT_ID(),....);
> 
> <employee>
>   <connection>personnel</connection>
>   <table name="base">
>     <keys>
>       <key param="id" dbcol="id" type="int" mode="manual"/>
>     </keys>
>     <values>
>       <value param="myparam" dbcol="...." type="string" />
>     </values>
>   </table>
>   <table name="derived">
>     <keys>
>       <!-- how can I use the mysql LAST_INSERT_ID() here,
>            in order to insert the previous inserted auto_increment value
>       <key param="id" dbcol="id" type="int"/>
> ?-->
        <key param="base.id" dbcol="id" type="int"/>
>     </keys>
>     <values>
>       <value param="..." dbcol="..." type="string" />
>     </values>
>   </table>
> </employee>

        Chris.

-- 
C h r i s t i a n       H a u l
[EMAIL PROTECTED]
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to