Hi Ben,
I believe that you're only permitted one MODIFY option per ALTER TABLE statement.
(The MySQL Manual says that ALTER TABLE accepts multiple ADD, DROP, and CHANGE clauses. It does not say anything regarding multiple instances of MODIFY.)
I can think of two things you can try:
1. Perform the changes as two separate ALTER TABLE statements.
2. Rewrite the statement to use CHANGE instead of MODIFY:
ALTER TABLE ndb.fl_state CHANGE mc_odo mc_odo DECIMAL(12,3) DEFAULT NULL, CHANGE mc_fuel mc_fuel DECIMAL(11,2) DEFAULT NULL;
(CHANGE assumes a column name change and requires that the old column name and the new name must be included, even if they're the same.)
Without seeing the original table definition, these are my best guesses. Does either suggestion work for you?
Also, please see
Problems with ALTER TABLE. The first issue listed there looks like it might be applicable to your case?
I will check into the issue with MODIFY and update the documentation to make it clear whether you can use it more than once in a single statement (or not).
cheers,
Jon Stephens
MySQL Documentation Team @ Oracle
MySQL Dev Zone
MySQL Server Documentation
Oracle