【问题解决】Subquery returns more than 1 row & sql语句中IN关键字的应用

版权声明:如需非商业性转载,请保留署名,注明出处。如需商业性转载出版,请直接和我联系。 https://blog.csdn.net/btboyhappy/article/details/81388891

之前在某删除语句中多层嵌套查询,查出多个值然后报错

delete from cert where keyset_id = (select keyset_id from keyset where sd_id = 'XX');

这里使用的字段赋值使用的=,只符合select语句只查出一条记录的情况。
很多情况下查出的记录都是多条,这时会上述语句会报Subquery returns more than 1 row

此时当语句中的=置换成in时,字段赋值就能指向select语句查询出的多条记录了,置换后的语句如下:

delete from cert where keyset_id in (select keyset_id from keyset where sd_id = 'XX');

猜你喜欢

转载自blog.csdn.net/btboyhappy/article/details/81388891
今日推荐