List:MySQL++« Previous MessageNext Message »
From:Earl Miles Date:March 14 2005 8:58pm
Subject:Re: auto_increment
View as plain text  
Chris Frey wrote:
> On Mon, Mar 14, 2005 at 08:35:27PM +0100, Joachim Person wrote:
> 
>>and subscription also has a "id" field which is auto_increment, doesn't
>>work. The id field gets some seemingly random value. How can I make sure
>>auto_increment works?
> 
> 
> auto_increment happens at the database level.  I don't believe mysql++
> automatically updates the struct with the new id, you need to get it yourself
> with the insert_id() call.
> 
> 	query.store();
> 	int id = connection.insert_id();// do this right after the
> 					// insert operation

I think this may be problematic; if my understanding is correct, the id field 
will be filled in by the user_prescription constructor, which is just
going to be an int, which means it'll be an essentially random value
since I doubt the constructor will initialize it to anything.

To get auto_increment to work, you have to either 1) not insert the
value into the table at all, or have the value inserted as NULL.

I *think* -- and this is where it gets quite hazy for me, because I
have not actually used either the specialized structures OR the Null
class (though I do need to use the Null class at some point) you
will need to do something like this:

subscription.id = Null<int>;

However, I'm not 100% sure that works with the specialized type classes
without going into the code and seeing if they respect the Null class.
I should imagine they do, but imagining will not make it so =)
Thread
auto_incrementJoachim Person14 Mar
  • Re: auto_incrementChris Frey14 Mar
    • Re: auto_incrementEarl Miles14 Mar
      • Re: auto_incrementChris Frey15 Mar
        • sql_create in headerdon thompson7 Apr
          • Re: sql_create in headerWarren Young8 Apr
            • Re: sql_create in headerdon thompson8 Apr
          • Re: sql_create in headerWarren Young9 Apr
  • Re: auto_incrementWarren Young15 Mar
    • Re: auto_incrementWarren Young15 Mar