如何在 MS SQL 服务器中使用 Spring JDBCNamedParameterTemplate 插入 current_timestamp?
How to insert current_timestamp using Spring JDBCNamedParameterTemplate in MS SQL Server?
我在 MS SQL Server
中使用 Spring JDBCNamedParameterTemplate 使用准备好的语句
String sqlUpsateEntity = "update mytable \n" + "set name = :myname, Current_Date = current_timestamp from mytable where mytable_id = :id";
"Current_Date = current_timestamp " 给出错误
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'Current_Date'."
如何插入当前时间戳?
更新
@Martin Cairney 指出原因可能是另一个问题,他是对的。
当我在实际代码中添加 'Current_Date = current_timestamp' 时,我有
忘记在前面的子句后加上','。所以 current_timestamp 工作正常。
语法看起来没问题 - 我不相信 CURRENT_TIMESTAMP
的使用是你的问题,但可能的检查方法包括使用其他系统日期和时间选项:
系统日期时间()
获取日期()
我建议尝试使用其中的每一个,看看它们是否相同。
没有看到您的 table 模式和参数值的另一种选择是它们之间存在不匹配。检查您为 :myname
传递的数据类型是否正确,Current_Date
是否为 DATETIME
数据类型,以及为 :id
传递的值是否与列的数据类型相匹配mytable_id
.
我在 MS SQL Server
中使用 Spring JDBCNamedParameterTemplate 使用准备好的语句String sqlUpsateEntity = "update mytable \n" + "set name = :myname, Current_Date = current_timestamp from mytable where mytable_id = :id";
"Current_Date = current_timestamp " 给出错误
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'Current_Date'."
如何插入当前时间戳?
更新
@Martin Cairney 指出原因可能是另一个问题,他是对的。 当我在实际代码中添加 'Current_Date = current_timestamp' 时,我有 忘记在前面的子句后加上','。所以 current_timestamp 工作正常。
语法看起来没问题 - 我不相信 CURRENT_TIMESTAMP
的使用是你的问题,但可能的检查方法包括使用其他系统日期和时间选项:
系统日期时间()
获取日期()
我建议尝试使用其中的每一个,看看它们是否相同。
没有看到您的 table 模式和参数值的另一种选择是它们之间存在不匹配。检查您为 :myname
传递的数据类型是否正确,Current_Date
是否为 DATETIME
数据类型,以及为 :id
传递的值是否与列的数据类型相匹配mytable_id
.