找回密码
 立即注册

QQ登录

只需一步,快速开始

起来睡了

初级会员

16

主题

32

帖子

374

积分

初级会员

积分
374

微信认证勋章

起来睡了
初级会员   /  发表于:2021-1-25 17:33  /   查看:2834  /  回复:7
1金币
本帖最后由 起来睡了 于 2021-1-27 18:37 编辑

数据库:Oracle
版本:19C

执行命令数据库操作删除时提示:表里面没有recordid该字段


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

7 个回复

倒序浏览
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-1-25 17:47:00
沙发
你的oracle数据表是不是没有主键?
回复 使用道具 举报
起来睡了
初级会员   /  发表于:2021-1-25 17:59:43
板凳
Eric.Liang 发表于 2021-1-25 17:47
你的oracle数据表是不是没有主键?

有主键
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-1-25 18:25:28
地板
我在网上查了下,大部分都是说sql中字段名成多了引号。

只有这一张表删除数据会出现这个问题,还是好几张表删除,都会报类似的错误呢?

如果就是这一张表,能不能单抽出来,做一个简单的例子,把数据表备份一下,我们这边找环境尝试复现一下。
回复 使用道具 举报
起来睡了
初级会员   /  发表于:2021-1-26 12:22:24
5#
本帖最后由 起来睡了 于 2021-1-26 12:28 编辑
Tracy.Liu 发表于 2021-1-25 18:25
我在网上查了下,大部分都是说sql中字段名成多了引号。

只有这一张表删除数据会出现这个问题,还是好几 ...

1、创建其他表,删除正常。
2、怀疑字段问题,把GOODS表DROP掉,重新创建了一个GOODS,只有一个字段 ID 类型为:NUMBER(11) ,删除异常。
2、直接重命名GOODS修改成GOODS1,删除正常。

发现只有表名为GOODS的删除有这个问题!

您可以创建一个GOODS的表测试一下,看看是不是通用问题。


数据库版本:Oracle 19C
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-1-26 13:44:27
6#
本帖最后由 Joe.xu 于 2021-1-26 18:14 编辑
起来睡了 发表于 2021-1-26 12:22
1、创建其他表,删除正常。
2、怀疑字段问题,把GOODS表DROP掉,重新创建了一个GOODS,只有一个字段 ID  ...

您可以在oracle里查下执行过的sql,然后把语句拿出来直接在Oracle里跑一下,
怎么拿执行的sql可以参考这个教程来查看明细
https://blog.csdn.net/demonson/article/details/81382336
截图了一种方案也给你附上
  1. SELECT sql_text, last_load_time
  2. FROM v$sql
  3. WHERE last_load_time IS NOT NULL
  4. ORDER BY last_load_time DESC
复制代码




回复 使用道具 举报
起来睡了
初级会员   /  发表于:2021-1-27 18:37:34
7#
1、取消主键索引,删除索引触发器  2、重启数据库和监听   3、重新创建索引

然后就可以删除了,真tm见了鬼~
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-1-28 09:27:44
8#
起来睡了 发表于 2021-1-27 18:37
1、取消主键索引,删除索引触发器  2、重启数据库和监听   3、重新创建索引

然后就可以删除了,真tm见 ...



解决了就好解决了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部