MySQL如何快速匹配列并更新?

MySQL如何快速匹配列并更新?,mysql,Mysql,我有一张这样的桌子: SSN NAME PT1 PT2 PT3 0002 Abby 12 14 15 现在我正在编写一个程序,该程序使用ssn、pt名称和一个新值进行输入。假设我可以匹配ssn 0002,我需要找到PT2以将值更新为28 我很困惑,因为更新格式是update/set/where。但是,如何在不逐个检查的情况下将列名与输入匹配?我当然可以 IF ptname = PT1 then ... else IF ptname = PT2 then ... 然而,代码将是乏

我有一张这样的桌子:

 SSN  NAME PT1 PT2 PT3

 0002 Abby  12  14 15
现在我正在编写一个程序,该程序使用ssn、pt名称和一个新值进行输入。假设我可以匹配ssn 0002,我需要找到PT2以将值更新为28

我很困惑,因为更新格式是update/set/where。但是,如何在不逐个检查的情况下将列名与输入匹配?我当然可以

IF ptname = PT1 then ... else IF ptname = PT2 then ... 

然而,代码将是乏味的。如有任何建议,将不胜感激!谢谢

在变量中创建sql

DECLARE @mySQL nVARCHAR(4000)

SET @mySQL = 'UPDATE tableName SET '+ @strColumn + ' = ' + @strValue 

EXECUTE sys.sp_executesql @mySQL, N'@strColumn VARCHAR(12), @strValue VARCHAR(12)',strColumn ,strValue 

请告诉我们您想要的输出是什么。您的问题有点不清楚。@Tim让我们说输入:SSN=0002,ptname=PT3,value=28。因此,在更新之后,我想得到一行:0002 Abby 12 14 28显示一个示例输入表和所需的输出。您使用的语言大多数SQL人员都会感到奇怪。