我正在开发一个程序,它从MySQL中的数据库中获取一些数据,更改一些数字,然后使用新的东西覆盖MySQL上的旧数据。 (具体来说,我正在接收的数据是从天气预报模型中输出的)。我正在努力的是能够用编辑过的数据替换数据库中的旧数据。
在我的程序中,新数据(太阳辐射值)是矩阵WxData第3列中的一列数字(因此可以使用WxData(:,3)进行访问)。
在MySQL数据库中,我想要更改的值位于表“wrf”中标题为“辐射”的列下。 “dbConn”是数据库连接的名称。
我试过像
这样的东西 update(dbConn, 'wrf', {'radiation'}, WxData(:,3), 'WHERE radiation > -1')
Matlab中数据库工具箱中的更新功能需要一个where子句输入,所以我只是把一些总是正确的东西。但是这种方法似乎不起作用......它最终将数据库表中的每个辐射值更改为相同的数字(可能是WxData(1,3)处的值)。
我尝试了其他一些方法,但没有任何效果。如何用新列替换数据库中的整列辐射值?好像它应该很简单。
答案 0 :(得分:0)
SQL不考虑列或向量。 因此,您的方法根本无法工作,这不是语法问题。
如果你想这样做,你可以将ID分配给SQL中的行,也可以将它们导入到matlab中,然后将ID放在where子句中并为每一行运行它。