文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL5.7 迁移到 KingBase V8 (人大金仓数据库)

2016-02-14 21:40

关注

MySQL5.7 迁移到 KingBase V8 (人大金仓数据库)

记录项目中 MySQL 数据库迁移到 Kingbase 的所遇到的问题和解决办法

  1. LAST_INSERT_ID()

  kingbase没有last_insert_id(), 可以在插入语句末尾加入returning [字段名] 关键字获取

insert into signer_info (user_id, user_name) values( 123, "wang") returning id;

  但是在Mybatis上使用标签进行上面sql的插入的话,会发现并不能得到我们想要的结果,数据会正常的插入到数据库中,但是我们期望的返回值并不是当前插入对象的id值,而是-1



    
    select LAST_INSERT_ID()
    
    INSERT INTO signer_info 
        user_id,  user_name,
    values
        #{userId,jdbcType=INTEGER},#{userName,jdbcType=VARCHAR}

  应该修改为


  这样接口方法的返回值就为当前插入值的id值。

  1. 已有表和系统表名称重复

  需要迁移的数据库中有张表名称为sys_config,查询的时候查询结果不符合我们的预期,经咨询金仓售后人员后得知和系统表重名...
解决问题方法如下:

alter database [数据库名] set search_path to "$user", [模式名,] public, sys, sys_catalog, pg_catalog;
select sys_reload_conf();

  执行完sql后要生效得重启下服务,重新获取数据库连接。

  1. 传空字符串被当作null
##查看空字符串的处理方式―如果为 on则空字符串与会当做null处理,需要修改为 off
show ora_input_emptystr_isnull;
##将此设置关闭
alter database casecheck_new set ora_input_emptystr_isnull to "off " ;
##重新载入配置
select sys_reload_conf( ) ;
  1. 其他问题

  其他问题可参考这篇博客
  --kingbase V8(人大金仓数据库) 与 mysql 的 sql 差异对比 与 数据迁移

原文地址:https://www.cnblogs.com/huizhipeng/archive/2022/04/27/16200631.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯