Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: Inserting with a column that uses auto_increment

From: Graham Reitz <grahamreitz(at)mac.com>
Date: Sun Aug 12 2007 - 00:10:26 EDT


Ok, that seems to work, thanks. Another question:

How do you create two sql_create macros with the same name? (doesn't compile)

If I change the name of the sql_create_N(name,...) to something else it won't let me insert it into the database because it has a different table name that doesn't match.

Thanks,
Graham

On Aug 11, 2007, at 8:29 PM, Jim Wallace wrote:

> I use auto_increment often. The trick is to not include that
> column in
> the sql_create_* macro. This may mean you have > 1 macro for the same
> table, one for insert w/o that column, and one for retrieval with that
> column. I often have > 1 macro for the same table depending on how
> I'm
> using it.
>
> HTH
>
> -----Original Message-----
> From: Graham Reitz [mailto:grahamreitz@mac.com]
> Sent: Saturday, August 11, 2007 2:27 AM
> To: plusplus@lists.mysql.com
> Subject: Inserting with a column that uses auto_increment
>
> How do you prevent an insert as shown in the code below from putting
> "bogus" data in an auto_increment field?
>
> It seems like the billing_id field, in the code below, inserts a
> number
> based on the un-initialized value of client_id, instead of letting the
> database auto_increment the value. What's a good method to deal with
> this, that allows the database to auto_increment a database field?
>
> Thanks,
> Graham
>
> /************ CODE ************/
>
> #include <mysql++.h>
> #include <custom.h>
>
> using namespace mysqlpp;
>
> sql_create_2(clients, 1, 2,
> unsigned int, client_id, // auto_incremented field
> unsigned int, billing_id)
>
> void populate_client_info(clients& client_info)
> {
> client_info.billing_id = 1;
> }
>
> int main (int argc, char* const argv[])
> {
> Connection connection("db_name","ip_address","user",
> "password",3306, false);
>
> Query client_query = connection.query();
>
> clients a_client;
> populate_client_info(a_client);
>
> client_query.insert(a_client);
> client_query.execute();
>
> return 0;
> }
>
>
> --
> MySQL++ Mailing List
> For list archives: http://lists.mysql.com/plusplus
> To unsubscribe: http://lists.mysql.com/plusplus?
> unsub=grahamreitz@mac.com
>

-- 
MySQL++ Mailing List
For list archives: 
http://lists.mysql.com/plusplus
To unsubscribe:    
http://lists.mysql.com/plusplus?unsub=lists@pantek.com
Received on Sun Aug 12 00:10:40 2007

This archive was generated by hypermail 2.1.8 : Sun Oct 07 2007 - 10:02:57 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library