合計5列のテーブルを作成しています。メインの「作成」プロセスでは、4つの列にデータを入力するのに十分なデータしかありません。プログラムの実行の後半で、5列目のデータがあります。「INSERTORREPLACE」の実行を開始します。だが!ステートメントでは、キー列と5番目の列のみを使用します。
データベースを参照すると、2列目から4列目までがNULLです。したがって、問題は次のとおりです。既存のデータをそのまま維持しながら、特定の列(キーを含む)のみを更新する方法はありますか?
合計5列のテーブルを作成しています。メインの「作成」プロセスでは、4つの列にデータを入力するのに十分なデータしかありません。プログラムの実行の後半で、5列目のデータがあります。「INSERTORREPLACE」の実行を開始します。だが!ステートメントでは、キー列と5番目の列のみを使用します。
データベースを参照すると、2列目から4列目までがNULLです。したがって、問題は次のとおりです。既存のデータをそのまま維持しながら、特定の列(キーを含む)のみを更新する方法はありますか?
あなたが発見したように、INSERTORREPLACEは間違ったステートメントです。すべての列に正しい値を指定できない限り、UPDATEステートメントの方が適しています。列を更新するだけです。
update your_table_name
set your_column_name = 'New Value'
where your_key_column = 'Something';
多くのアプリケーションでは、より注意が必要です。
update your_table_name
set your_column_name = 'New Value'
where your_key_column = 'Something'
and your_column_name is null;