Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Java Databases > Re: Getting a M...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 8 Topic 3680 of 3800
Post > Topic >>

Re: Getting a Mysql auto increment value back into my Java client

by Lew <lew@[EMAIL PROTECTED] > Mar 19, 2008 at 07:55 PM

BoBi wrote:
>> I would like to get the value assigned to sid by Mysql back into my
>> client Java application
>> preferably with the one sql statement I'm already using to insert.
>> Only if really necessary
>> with a second sql statement. What is the best way to programm this?

David Harper wrote:
> The best solution is to use Connection.prepareStatement(String sql, int 
> autoGeneratedKeys) to create a prepared statement:
> 
>   String sqlString = "INSERT INTO country(countryCode,countryName)
>    VALUES(?,?)";
> 
>   PreparedStatement pstmt = conn.prepareStatement(sqlString,
>       Statement.RETURN_GENERATED_KEYS);
> 
> assuming that your table has columns named countryCode and countryName 
> to store the country code and name respectively.
> 
> Then insert a row using code such as
> 
>   pstmt.setString(1, country.getCode());
>   pstmt.setString(2, country.getName());
> 
>   int rc = pstmt.executeUpdate();
> 
>   // rc is the number of rows actually inserted
> 
> and retrieve the auto_increment value generated by the server like this:
> 
>   ResultSet rs = pstmt.getGeneratedKeys();

If only you were using PostgreSQL, you could use their extension to the
INSERT 
command:
   [ RETURNING * | output_expression [ AS output_name ] [, ...] ]

> The optional RETURNING clause causes INSERT to compute and return
value(s) 
> based on each row actually inserted. This is primarily useful for
obtaining 
> values that were supplied by defaults, such as a serial sequence number.

> However, any expression using the table's columns is allowed. The syntax
of 
> the RETURNING list is identical to that of the output list of SELECT.
<http://www.postgresql.org/docs/8.2/interactive/sql-insert.html>

-- 
Lew
 




 8 Posts in Topic:
Getting a Mysql auto increment value back into my Java client GU
BoBi <1kdg@[EMAIL PROT  2008-03-19 11:33:33 
Re: Getting a Mysql auto increment value back into my Java clien
David Harper <devnull@  2008-03-19 21:20:24 
Re: Getting a Mysql auto increment value back into my Java clien
Lew <lew@[EMAIL PROTEC  2008-03-19 19:55:53 
Re: Getting a Mysql auto increment value back into my Java clien
=?UTF-8?B?QXJuZSBWYWpow7h  2008-04-19 21:23:38 
Re: Getting a Mysql auto increment value back into my Java clien
BoBi <1kdg@[EMAIL PROT  2008-03-21 00:40:11 
Re: Getting a Mysql auto increment value back into my Java clien
BoBi <1kdg@[EMAIL PROT  2008-05-02 01:59:19 
Re: Getting a Mysql auto increment value back into my Java clien
Jim Garrison <jhg@[EMA  2008-05-02 22:18:26 
Re: Getting a Mysql auto increment value back into my Java clien
=?ISO-8859-1?Q?Arne_Vajh=  2008-05-14 21:19:31 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 23:09:00 CDT 2008.