我在数据库中有一列具有数据类型DATETIME
。我想使用PreparedStatement将此列值设置为当前日期和时间。我怎么做?
使用PreparedStatement#setTimestamp()
其中传递通过java.sql.Timestamp
构造的的用途System#currentTimeMillis()
。
preparedStatement.setTimestamp(index, new Timestamp(System.currentTimeMillis()));
// ...
另外,如果数据库支持,您也可以调用特定于数据库的函数以将其设置为当前时间戳。例如,MySQL为此提供支持now()
。例如
String sql = "INSERT INTO user (email, creationdate) VALUES (?, now())";
或者,如果数据库支持,则将字段类型更改为自动设置插入/更新时间戳的字段类型,例如在MySQL中TIMESTAMP
代替DATETIME
。
问题内容: 我正在尝试使用准备好的语句来设置表名称以从中选择数据,但是在执行查询时,我总是收到错误消息。 错误和示例代码如下所示。 有什么想法可能会导致这种情况? 问题答案: 表名不能用作参数。它必须是硬编码的。因此,您可以执行以下操作:
问题内容: 我已经使用prepared语句将订单插入到订单表中,但是现在我想根据订单表中插入的最后一个ID将订单项插入到订单表中: 等同于使用准备好的语句? 问题答案: 如果您使用的是PDO,则为。因此,如果您的数据库句柄称为: 如果您使用的是MySQLi,则为或:
问题内容: 我正在尝试使用准备好的语句来设置表名以从中选择数据,但是执行查询时,我总是收到错误消息。 错误和示例代码如下所示。 有什么想法可能导致这种情况? 问题答案: 表名不能用作参数。它必须是硬编码的。因此,你可以执行以下操作:
问题内容: 我有一个名字列表,例如: 并声明: 如何执行以下操作: 有解决方法吗?有人可以解释为什么缺少这种方法吗? 使用:java,postgresql,jdbc3 问题答案: 没有干净的方法仅通过在我所知道的列表上设置列表来执行此操作。 编写代码,以适当数量的问号(与列表中的数字相同)构造SQL语句(或更好地替换单个?或类似的标记),然后遍历列表为每个参数设置参数。
将Camel 2.13.1与Spring 2.7.11一起使用,并在尝试使用SQL组件运行更新查询时收到SQL异常。下面是如何将更新查询添加到路由中,并使用主体中的java.util.Map将输入参数值传递给该语句。 主要问题:如果我在准备好的语句中只有一个输入参数,那么它工作得很好…如果我有以下更新查询中的多个,那么它将失败,出现sql异常
问题内容: 我创建了一个android应用,在此应用中,用户可以保存一些任务。这些任务将保存在设备中,并且当用户上线时,任务将同步到服务器。用户保存任务时,我需要知道正确的日期和时间。诸如或返回设备时间之类的代码,如果设备时间不正确,则任务会以错误的日期保存。这个应用程式必须离线运作,这一点很重要。并且由于该应用程序的冗长性,用户可能有意更改设备时间。对不起,我的英语不好。 问题答案: 因此,我最