我想在MySQL的SELECT语句中串联一个列及其索引(数字名称)。
例如,有4列:(Column1,Column2,Column3 ... ColumnN)。我希望不要使用通过名称引用的值来更新值,而是希望使用名为“ index”的变量并将其附加到单词“ Column”的末尾。
我已经尝试了MySQL文档中的CONCAT()
和CONCAT_WS
函数。
例如,如果我将变量index
的值设置为3,则会导致以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '('Column','3')
另一种选择是重新设计数据库及其关系,我希望避免这种情况。
列名还是数据库中的简单字符串,我可以尝试吗?
编辑:
$score_update = "UPDATE Users
SET CONCAT ('USER_module','$module_chosen_index') ='$module_quiz_score'
WHERE USER_firstname = '$username'";
$module_chosen_index
的值可以是(1,2 ... 15),如果我输入了它但没有使用CONCAT()
,则列标题是USER_module3
。