Begin DECLARE pole TEXT; SET pole = 'visit'; SET @s = CONCAT("UPDATE cms_users_stats SET ", pole," = (",pole," + 1) WHERE user_id = 1;"); PREPARE stmt FROM @s; EXECUTE stmt; DEALLOCATE PREPARE stmt; END;
No i często jest tak, że zamiast + 1 dodaje 60, 8,5...
Co może być problemem? Osobiście uważam, że coś jest nie tak z concat,prepare,execute..
Mógłby mi ktoś napisać, czy jest inny możliwy sposób użycia zmiennej jako nazwę danego pola?
Lub jak to zrobić w inny sposób, byle z użyciem sql, jest mi to potrzebne do mojego cms'a.