Maybe, depends how the emulator handles the spell_dbc table. Looks like a hackfix if anything.
attributes and attributesEx define data about the spells using a flag system. It looks like that query will change those flags on that spell so the emulator treats it differently. Maybe it will work?
Back up your database/that row before trying it.
With SQLyog Community Edition I can do:
Code:
SELECT * FROM `spell_dbc` WHERE `id` = '642';
Then tick the row, click the export as button above it, and export the data as an SQL query. Then when you run the query you have provided in your post, you can revert to the old data by running the exported query (you will need to delete the existing row first).

You only need to export the data for backup purposes because you are only modifying a single record.