2

私は、MySQL のデータベースからいくつかのデータを取り込み、いくつかの数値を変更してから、MySQL の古いデータを新しいもので上書きするプログラムに取り組んでいます。(具体的には、私が取り込んでいるデータは天気予報モデルから出力されたものです)。私が苦労しているのは、データベース内の古いデータを編集されたデータに置き換えることができることです。

私のプログラムでは、新しいデータ (日射量の値) は行列 WxData の 3 列目の数値の列です (したがって、WxData(:,3) でアクセスできます)。

MySQL データベースで、変更したい値は、テーブル「wrf」の「radiation」というタイトルの列の下にあります。「dbConn」はデータベース接続の名前です。

私は何かを試しました

     update(dbConn, 'wrf', {'radiation'}, WxData(:,3), 'WHERE radiation > -1')

Matlab のデータベース ツールボックスの update 関数には where 句の入力が必要なので、常に true になるものを入れただけです。しかし、この方法はうまくいかないようです...データベース テーブル内のすべての放射値を同じ数値 (おそらく WxData(1,3) の値) に変更することになります。

他のいくつかの方法を試しましたが、何も機能しませんでした。データベース内の放射線値の列全体を新しい列に置き換えるにはどうすればよいですか? シンプルであるべきだと思われます。

4

1 に答える 1

0

SQL は、列またはベクトルを考慮しません。したがって、あなたのメソッドは機能しません。構文の問題ではありません。

これを行う場合は、ID を SQL の行に割り当て、これらを matlab にインポートしてから、ID を where 句に入れ、各行に対して実行します。

于 2013-01-21T21:08:03.250 に答える