db2数据库使用过程中的若干问题(1)----表不能被删除

在工作中用到了db2数据库, 由于对数据库不熟悉, 所以记录下在db2数据库使用过程中的问题和解决方法,以供以后查看.


问题表现: 数据库中出现了相同名称的两个表:


双击打开表, 发现里面的数据内容是一样的.

尝试drop表, 发现drop其中一个后,另一个就不能drop了.而且, drop了一个表后, 另一个表也不能用了.



排查过程: 

1.尝试创建原表, 然后将其中一表改名, 然后删除另一个表, 报错:


2. 尝试经过排查发现删除一个表后, 再删另一个表时, 系统提示该表不存在.

3. 在网上查找了半天, 没有发现解决方案, 考虑通过查找所有表名的方式查看是否真的不存在这个表.结果用select语句差找不到该表.


4.考虑到scheme中的表信息都是来自sysibm下的systables表, 决定到该表中查看数据. 双击打开该表, 搜索"tb_product", 发现找到一条记录:


5.经过仔细对比发现, 该表名前多了一个空格字符.


原因分析: 创建表时由于手误, 在sql语句中表名前多敲了一个空格.而db2在展示表名时可能会将多余空格去除, 所以出现相同表名的表. 而删除时按照没有空格的表名来删除表时就没办法影响到systables表中的数据, 所以出现了表不能删除的问题.


解决方法: 由于默认scheme是db2admin, 所以不能直接在systables表中删除数据, 所以,通过sql来drop表名中带空格的表.


只剩下一个.


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值