
October 29th, 2003, 01:59 AM
|
|
|
|
Join Date: Apr 2007
Location: Charlottesville, VA USA
Posts: 425
Time spent in forums: < 1 sec
Reputation Power: 3
|
|
|
RE: ENUM field type question - mysql
I tend to think that you should not be using enums in this case. Enums were not designed to be variable, that's why they invented varchars and text types.
If you insist on this behavior, you have two options that I can think of, both involve scripting:
1. Make the field a varchar or text type rather than enum, and write code to check (validate) the entries against the primary keys in the second table every time you attempt to insert a record into the first table.
2. Write a script that will add every new primary key entered in the second table to the enum type in the first table. You will also need to delete it when a record is removed. For the insertion, this SQL will change the enum type (from n options to n+1):
Code:
ALTER TABLE `table1` CHANGE `enumvar` `enumvar` ENUM( 'value1', 'value2', ... , 'valuen', 'newvalue' )
|