電話番号とカウンターの 2 つの列を持つシンプルな Sqlite テーブルがあります。電話番号とカウンターも含む .csv ファイルに基づいてテーブルを更新したいと考えています。数値がデータベースに存在する場合は、既存のカウンター + ファイル内のカウンターの合計によって更新する必要があります。存在しない場合は、ファイルの値を使用して新しいレコードを挿入する必要があります。残っている問題の 1 つは、電話番号の最初の桁が 0 になっていることです。データベースにデータを入力すると、ゼロが保持されます (09999 のような既存の番号を手動で選択して見つけることができます)。先行ゼロなしで新しいレコードを挿入するため、0999 はデータベースで 999 になります。先行ゼロのない数値は正しく処理されます。
rowArray=thisFile[k].split(';')
number = rowArray[0]
couplings = rowArray[1]
updString="INSERT OR REPLACE INTO Caller (Telno,count) VALUES (#{number},COALESCE((SELECT count + #{couplings} FROM Caller WHERE Telno=#{number}),# {couplings}))"
db.execute(updString)
ここで何が間違っているのか分かりますか?最も簡単な解決策は、先頭のゼロを削除することですが、私はそれを正しく行うことを好みます。よろしくお願いします。