java.sql.SQLException: Subquery returns more than 1 row

桃扇骨 2022-11-19 12:50 403阅读 0赞
  1. java.sql.SQLException: Subquery returns more than 1 row
  2. 错误:你的子查询中返回了多条数据

一、场景:子查询出现多个

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpYnVzaTAwMQ_size_16_color_FFFFFF_t_70

结果:

20210112190949781.png

二、解决方法

在重复写入时会出现这种问题, 可通过去掉重复数据解决

1)首先可以通过联合主键来控制重复数据的出现

20210112190555632.png

2)唯一索引

20210112190621309.png

3)逻辑判断

通过在写入时加逻辑判断或者外键防止数据重复写入。

4)关键字进行限制

  1. 利用INSOMEANYALL关键字进行限制
  2. 报错信息出自子查询, 因此需要对子查询涉及指令进行条件修改

三、代码兼容

  1. 比如你的sql是这样的
  2. select name from tabel1 where id = (select id from tabel2)
  3. 第二个查询可能会返回了多条数据 ,将sql改为
  4. select name from tabel1 where id = any(select id from tabel2)

有用请点赞,养成良好习惯!

疑问、交流、鼓励请留言!

发表评论

表情:
评论列表 (有 0 条评论,403人围观)

还没有评论,来说两句吧...

相关阅读