When I last did an invoice-type project, he had the header table with an
invoice# as PRIMARY KEY, then we had an invoice_line table with a rowid
PRIMARY KEY as auto-increment and a invoice# with a non-unique key
INDEX. This worked fine for our purposes, so I would probably go with
option #1 I guess.

Regards,
Mike Hillyer
www.vbmysql.com
 

> -----Original Message-----
> From: Mojtaba Faridzad [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, June 19, 2003 9:16 AM
> To: [EMAIL PROTECTED]
> Subject: selecting PRIMARY KEY when there is no unique value
> 
> 
> Hi,
> 
> In a docuement such as Invoice Form, we have a header and a couple of
> records for the detail. In header table, Invoice# can be the 
> PRIMARY KEY but
> in detail table, Invoice# is not unique. I think there are 
> two solutions to
> choose a Primary Key (in MyISAM type) :
> 
> 1) Adding an id field ( auto_increment ) and choose it as PRIMARY KEY
> in this case we have to add another index on Invoice# for 
> making relation
> with the header table
> 
> 2) There is another field in detail table with "timestamp" 
> type for keeping
> the last change on the record. I want to select ( Invoice# + 
> myTimestamp )
> for PRIMARY KEY. in this case I don't need to add a new 
> fields ( id ) and
> another index ( on Invoice# ) to the table.
> 
> which one do you prefer and usually use?
> 
> thank
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    
> http://lists.mysql.com/mysql?> [EMAIL PROTECTED]
> 
> 

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to