Peter - I would argue whether or not primary keys are auto-generated by definition. This statement is true of "identity" (SQL Server terminology used here; a.k.a. AutoNumber, ID, etc.) columns. However, a primary key can consist of one or more non-identity columns (e.g. a varchar(50) value).
Personally, all my primary keys *are* identity columns (as this makes it easier to isolate the actual "key" value and eases changes to the key combination in the future), but this is not necessary (nor even recommended by some schools of thought in DB schema design). Just thought I'd clarify for folks out there as this statement may cause confusion among the uninitiated. Best of luck. - Justin -----Original Message----- From: Peter S. Hamlen [mailto:[EMAIL PROTECTED]] Sent: Monday, February 10, 2003 6:22 PM To: Turbine Torque Users List Subject: Re: how to set the PK manually? Marc, My understanding is that you cannot accomplish this if it's a primary key. Primary keys, by their definition, are generated automatically so that there aren't any duplicates. As Justin Campbell mentioned in a previous email, you might want to have Table B have a foreign-key to table A (that's how most of us accomplish this.) The other option (if you're really talking about "extending") is to add the columns for B into table A - and add a "type" column that indicates whether the object in the table is of type A or B. For example: <table name="PaymentPlans"> <column name="Type" description="Annual or Monthly"/> <column name="MonthlyBillDate" description="Only used for Monthly types"/> <column name="AnnualBillDate" description="Only used for annual plans"/> <column name="AmountDue" type="INTEGER"/> </table> You can find more information about this in the "Inheritance" section of Torque. -Peter On Thu, 2003-02-06 at 13:20, Marc Lustig wrote: > Hi, > > I'm creating a new instance (row) and set the PK to a certain value. > (I need to do this because this table B extends another table A, so the PK > in table B must be the same as in table A.) > > My defaultIdMethod is "idbroker": > <database defaultIdMethod="idbroker"... > > And to make torque not generating the PK I set idMethod="none": > <table name="B" idMethod="none"> > > Problem is when I trigger save() torque still generates a new PK and assigns > it. How comes that? > How can I make torque not to auto-generate a new primary key when save() is > called? > > Thanks! > > Marc > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]