Si vous y accédez depuis un client basé sur API (je suppose que c'est le cas en raison des '?' Dans la requête), vous pouvez le faire depuis votre programme plutôt que par SQL.
Note: Le reste est pour la syntaxe JDBC, d'autres API/langues auront une syntaxe différente, mais devraient être conceptuellement les mêmes.
Du côté d'insertion font
PreparedStatement stmt = connection.prepareStatement(
"INSERT INTO messages " +
"(typeId, messageTime, stationId, message) VALUES " +
"(?, ?, ?, ?)");
stmt.setInt(1, typeId);
stmt.setDate(2, new java.sql.Date(System.currentTimeMillis()));
stmt.setInt(3, stationId);
stmt.setString(4, message);
Du côté de la requête ne:
PrepatedStatement stmt = connection.prepareStatement(
"SELECT typeId, messageTime, stationId, message " +
"from messages where messageTime < ?");
long yesterday = System.currentTimeMillis() - 86400000; // 86400 sec/day
stmt.setDate(1,new java.sql.Date(yesterday));
Cela devrait fonctionner de manière portable.
Pour quel vendeur cette syntaxe fonctionne-t-elle? –
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html –
Chaque base de données a sa propre fonction pour obtenir la date actuelle, malheureusement. – jodonnell