İki tarih arasındaki tüm kayıtları silen Java'da bir yöntem çalıştırmaya çalışıyorum, ancak bana bir Synax hatası veriyor. Bu kodu verilmiştir: '?'Java Mysql tarihleri arasında sözdizimi hatası silme hatası
public void updateIntegraton(String dateInit, String dateEnd)
{
Connection conn = ConnectionManager.getConnection();
String sql_delete = "DELETE FROM my_schema.my_table WHERE DATE(day_date) BETWEEN DATE(?) AND DATE(?)";
String sql_safe_updates = "SET SQL_SAFE_UPDATES = 0";
PreparedStatement ps_delete;
PreparedStatement ps_safe_updates;
try {
ps_safe_updates = conn.prepareStatement(sql_safe_updates);
System.out.println("Setting safe updates off.");
ps_safe_updates.execute();
ps_delete = conn.prepareStatement(sql_delete);
ps_delete.setString(1, dateInit);
ps_delete.setString(2, dateEnd);
System.out.println("Delete Query: " + ps_delete);
System.out.println("Deleting all records between dates " + dateInit +" and "+ dateEnd);
ps_delete.execute(sql_delete);
System.out.println("Deleted records. ");
} catch (SQLException e) {
System.out.println("Something went wrong on Delete");
e.printStackTrace();
}
}
ben yerine sonra, silme sql deyimi basıyorum görebileceğiniz gibi değerleri olan parametreler. İşte konsolda yazdırır ne bir örnek:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?) AND DATE(?)' at line 1
:
Delete Query: [email protected]: DELETE FROM my_schema.my_table WHERE DATE(day_date) BETWEEN DATE('2016-04-01') AND DATE('2016-04-08')
Ben MySQL Workbench ve satırlarda aynı sorgu silinmiş olsun o koşmak benim java kodu çalıştırdığınızda, ancak ben bu sözdizimi hatası alıyorum
Diğer sql deyimlerini çalıştırmak için aynı sözdizimini kullandım ve hata almadım. Başlığımdaki tek şey, kodumun ps_delete.execute (sql_delete) kısmında kullanılan "execute" yönteminin işe yaramamasıdır, ancak bana hataları da veren "executeUpdate" ve "executeQuery" yöntemlerini kullanmıştım.
MySQL kitaplığım ile bağlantı oluşturmak için mysql-connector-java-5.0.8-bin.jar kütüphanesini kullanıyorum.
Bunun neden olduğuyla ilgili bir fikriniz var ve bunu nasıl çözebilirim? Olması gerektiği Bana öyle geliyor
Teşekkür
Dumb me. Bu çözüldü. Teşekkürler! –