首页 > 解决方案 > 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.

没有详细信息,只有这两条消息。

标签: javadatabasemybatisinformix

解决方案


您还可以使用插入查询

<selectKey keyProperty="" resultType="" order="BEFORE"> select ..... </selectKey>


推荐阅读