Nitin wrote:
You shouldn't use text fields as primary keys. It's much faster and more efficient to use a numeric field.Hi all,
What will be the best way to implement auto increment field. I dont want to use auto increment feature, as it only appends the numbers but doesn't check for the values deleted. Suppose, following are the values in table
1 abc 2 bcd 3 cde . . . . . . 9 xyz
now if 2nd and 3rd rows are deleted, an autoincrement field will still assign 10, 11, 12.... to the new values, while I want it to assign the values deleted from the table first.
What will be the best way to implement it?
Thanks in advance
Nitin
You're also asking for trouble trying to re-use keys. What happens if someone has a key 'bcd' and then their record gets deleted, and someone else gets the key 'bcd'. You go back over data and see reference to 'bcd', and have no idea what it's referring to unless you get the transaction logs out and check what data the key was referring to on that particular day. It will be an absolute nightmare to debug, and you destroy any sane way of auditing your data.
The best way to implement it, therefore, is to *not* implement it. Use MySQL's auto_increment field as the primary key. If you absolutely *must* reuse the text 'keys' you have above, then that's up to your application to handle. Make a char / varchar field and have your code scan the table for the next available key and then use that in your 'insert' statement. But it's a *really* bad idea.
Dan
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]