Это то, что вы можете сделать на сервере SQL ... верно?
Нет, вы не можете использовать переменную или подготовленный параметр оператора в качестве имени столбца в любой марке базы данных SQL.
Вы можете интерполировать имя столбца в строку и подготовить оператор из этого. Вот пример, который работает в MySQL:
SET @var_name = 'Year';
SET @myquery = CONCAT('UPDATE retrosheet.batting_table SET Player_Season = ',
@var_name, ' WHERE id IS NOT NULL';
PREPARE stmt FROM @myquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Важной частью является то, что все таблицы и столбцы должны быть зафиксированы во время подготовки.
Переменные и параметры можно использовать только в тех случаях, когда в запросе указываются постоянные значения, например строковые литералы в кавычках, литералы даты в кавычках или числовые литералы.