Als u op zoek bent naar een manier om alle 70 kolommen bij te werken naar een enkele waarde met een korte, eenvoudige instructie, dan raad ik u aan een opgeslagen procedure te schrijven om de update uit te voeren. Op die manier hoeft u de volledige updatesyntaxis maar één keer uit te schrijven en kunt u deze steeds opnieuw gebruiken door de opgeslagen procedure aan te roepen.
CREATE PROCEDURE update_all_columns (p_new_value SMALLINT, p_id INT) ...
CALL update_all_columns(1,2);
Een andere truc is om de tabel information_schema.columns te gebruiken om de update-instructie te genereren, waardoor het minder vervelend wordt om de opgeslagen procedure te coderen.
Zoiets als dit:
SELECT concat('UPDATE ',
table_name,
' SET ',
group_concat(column_name separator ' = p_new_value, '),
' = p_new_value',
' WHERE id = p_id;') as sql_stmt
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND table_name = 'tablename'
AND column_name != 'id'