Re: Inserting with a column that uses auto_increment
ahh....ok. I'll try using different namespaces. That's unfortunate
and really suggests a larger design issue with the mysql++ library.
It does, although, have many v. nice features.
thanks,
g
On Aug 12, 2007, at 1:43 PM, Jim Wallace wrote:
> Right. The insert uses the macro name as table name, selects > don't, so > the insert will have to have the table name. > > You may be able to get around it with namespaces. > > -----Original Message----- > From: Graham Reitz [mailto:grahamreitz@mac.com] > Sent: Sunday, August 12, 2007 12:10 AM > To: Jim Wallace > Cc: plusplus@lists.mysql.com > Subject: Re: Inserting with a column that uses auto_increment > > 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=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 16:07:47 2007
This archive was generated by hypermail 2.1.8
: Sun Oct 07 2007 - 10:02:58 EDT
|