0
私はMySQLデータベースでクエリを実行していますが、JDBCを使用しており、クエリを実行するのにMySQLワークベンチを使用しています。MySQLワークベンチでクエリを実行したときにJDBCエラーが発生しましたが、エラーは発生しません。
私はMySQLワークベンチでそれを実行すると、私が期待していたものが得られますが、私のコードで実行したときに得られます。
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL構文にエラーがあります。ここではライン1
で「SELECT Character.CharacterID、Character.CharacterName、Characte」近くで使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してくださいと、Javaです:ここでは
for (int i = 0; i < 3; i++) {
try {
result = s.executeQuery("USE `arbitrary-hero`; SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), "
+ "SUM(ItemStrength), SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON `Character`.CharacterID = Character_Items.CharacterID INNER JOIN "
+ "Items ON Character_Items.ItemID = Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "+ name[i] +" GROUP BY `Character`.CharacterName;;");
}
catch(Exception e) {
System.out.println(e);
}
}
s.close();
SQLです:
SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), SUM(ItemStrength),
SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON
`Character`.CharacterID = Character_Items.CharacterID INNER JOIN Items ON
Character_Items.ItemID= Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "Maxinfet" GROUP BY `Character`.CharacterName;
Dorは正しいです。 'executeQuery'メソッドの呼び出しごとに1つのSQLステートメントをしてください。ちなみに、あなたの接続文字列を使ってmySQLデータベース(あなたの 'USE'文で言及されているもの)を選択するべきでしょう。 –
ありがとうございます。ただ1つのSQLステートメントで問題を修正しました。 –