2020-08-07

mybatis insert into select 在编辑器navicat和其他的可视化软件上可以运行但是在mybatis中不能运行的错误 

由于表中的主键是默认值为1的主键,所以在写sql文时就把这个字段给忽略了

 

INSERT INTO T_PLNT (
    CPANY_CD,
    PLNT_CD,
    PLNT_NM,
    PLNT_REP_NM,
    PLNT_REP_PHONE_NO,
    PLNT_REP_FAX_NO,
    POSTCD,
    ADDR1,
    ADDR2,
    ADDR3,
    ADDR4,
    LOCAL_GOV_CD,
    JWNET_PLNT_NO,
    JWNET_PLNT_DIV,
    LICNS_FG,
    ST_DT,
    EXPIR_DT,
    LOGCL_DEL_FG,
    REC_CRET_PRSN,
    REC_CRET_DTTM,
    FINL_UPDT_PRSN,
    FINL_UPDT_DTTM,
    GRP_AREA_CD,
    PARENT_PLNT_CD,
    RTE_GOV_CD,
    MNG_APPR_FLAG,
    TRNSPT_APPR_FLAG
)
        SELECT
            CPANY_CD,
            'AA19', 'hsauidss', PLNT_REP_NM,
            '12312312', PLNT_REP_FAX_NO,
            '068-2161', '北海道', '三笠市', '本郷町', 'hasudi', '13000', JWNET_PLNT_NO,
            JWNET_PLNT_DIV,
            LICNS_FG,
            ST_DT,
            EXPIR_DT,
            LOGCL_DEL_FG,
            'xupaiR60', SYSDATE,
            'xupaiR60', SYSDATE,
            GRP_AREA_CD,
            'AA19', '13000', MNG_APPR_FLAG,
            TRNSPT_APPR_FLAG
        FROM
            T_PLNT
        WHERE
            CPANY_CD = 'B001294'
        AND PLNT_CD = 'AAAA'
    

 

只需要在<insert id="xxx" useGeneratedKeys="false">加上useGeneratedKeys="false"就可以正常运行了.

对于支持自动生成记录主键的数据库,如:MySQL,SQL Server,此时设置useGeneratedKeys参数值为true,在执行添加记录之后可以获取到数据库自动生成的主键ID

还有就是在xml文件中<if test="xxx='xxx'">在编译时是不通过的,应该写成<if test='xxx="xxx"'>

双引号才可以识别其中的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值