私は、MySQLサーバーからこのエラーを取得しています:MySQLのエラー更新ステートメントを使用した:「あなたはあなたのSQL構文でエラーが発生している...」
あなたのSQL構文でエラーが発生しています。 '0' = 0、 '1' = 0、 '2' = 0、 '3' = 0、 '4' = 0、 '5の近くで使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを参照してください。 '= 0、 '6'= 0、 '7'= 0、 '8'= 0、' ライン1
でそしてここ更新ステートメントに関するコードである:
PreparedStatement getLocations = con.prepareStatement(sql);
ResultSet adjacentSpots = getLocations.executeQuery();
if (adjacentSpots.next()){
int freqAti;
int total_freq = adjacentSpots.getInt("total_freq");
newfreqs[0] += total_freq;
for (int i = 0; i < freqs.length-1; i++) {
freqAti = adjacentSpots.getInt(""+i);
newfreqs[i+1] += freqAti;
}
sql = "update _frequent_routes set total_freq = " + newfreqs[0];
for (int i = 1; i < freqs.length; i++) {
int iAdjusted = i-1;
sql += ", '" + iAdjusted + "' = " + newfreqs[i];
}
sql += " where device_id= '" + deviceID + "' and intersection1= '" +
intersectionName1 + "' and intersection2='" + intersectionName2 + "'";
PreparedStatement updateSpots = con.prepareStatement(sql);
updateSpots.executeUpdate();
}
アン例は次のようになります
アップデートセットtotal_freq = 2、= 0、= 0 1、= 0 2、= 0〜3、= 0~4、= 0〜5、= 0 6、= 0 7,8 _frequent_routes = 0,9 = 0,10 = 0,11 = 0,12 = 0,13 = 0,14 = 0,15 = device_id = 'some string'、intersection1 = 'some string'、intersection2 = 2、16 = 0,17 = 0,18 = 0,19 = 0,20 = 0,21 = 'some string'
データテーブルの列の名前と種類を一致させるエラーはないと確信しています。誰も私の更新ステートメントで構文エラーを見つけることができますか?
*誰かが私の更新ステートメントで文法エラーを見つけることはできますか?いいえ、あなたのコードをゆっくりとゆっくりと減らすことによって、あなたのタイプミスを見つけるまでです。つまり、[mcve]を作ってください。 – Tunaki
実行前にsqlクエリを表示 – Squirrel
最も重要な情報、つまりクエリ自体を忘れてしまった。 –