java - MyBatis - 带有嵌套 SELECT 的 INSERT INTO 给了我语法错误
问题描述
我正在使用 MyBatis 和 Informix DB。在我的数据库客户端中,SQL 工作得很好。当我在程序中调用该方法时,出现 SQL 语法错误。
<insert id="insertDataArchive">
INSERT INTO dat_arch(id,code,dom,change_type,start_date,end_date)
SELECT (id,code,dom,#{changeType}, #{startDate}, #{endDate})
FROM data_store
WHERE id = #{id}
</insert>
我收到的错误消息是:
Error updating database. Cause: java.sql.SQLSyntaxErrorException: A syntax error has occurred.
Cause: java.sql.SQLSyntaxErrorException: A syntax error has occurred.
没有详细信息,只有这两条消息。
解决方案
您还可以使用插入查询
<selectKey keyProperty="" resultType="" order="BEFORE"> select ..... </selectKey>
推荐阅读
- c# - 在 C# 中创建 Code128 条形码
- javascript - nodeJS中如何按一定顺序执行代码?
- python-3.x - OneHotEncoderunexpected 关键字参数“categorical_features”
- c++ - 如何将 lambda 作为模板类的成员函数参数
- terminal - 如何在 spyder 中打开终端(已安装)
- python - 在Python中计算集合中的大量项目的有效方法?
- c# - 无法访问 Word 文档上的图表(Interop C#)
- swift - 无法使用故事板自定义实例化窗口控制器
- google-apps-script - Google Sheets Apps 脚本自动填充公式语法错误
- wpf - Prism.DialogService 的单元测试