Java 使用mysql从表中删除

Java 使用mysql从表中删除,java,mysql,Java,Mysql,伙计们,我有下表: +--------------------------------------------------+ |id | type | name | parent | group_id | +--------------------------------------------------+ | 1 | special | name1 | 0 | 21 | | 2 | Group | name2 |

伙计们,我有下表:

+--------------------------------------------------+
|id |  type    |   name   |    parent  |  group_id |
+--------------------------------------------------+
| 1 |  special |   name1  |    0       |  21       |
| 2 |  Group   |   name2  |    1       |  19       |
| 3 |  Group   |   name3  |    1       |  22       |
| 4 |  special |   name4  |    0       |  89       |
+--------------------------------------------------+
表2中右边的id参考了右边的id

我想删除name=name2和name3的行。那怎么做呢

我自己的解决办法是:

但是它不起作用。。任何解决方案。。谢谢

您只需将查询中的AND更改为OR即可。要获得更优雅、简洁易读的方式,您可以使用:

DELETE from bo_right WHERE name in ('name2', 'name3');
从给定集合中的列名中搜索值的外观。

更改和或:

或者您可以在中使用:

您必须使用或代替,如下所示:

delete from bo_right WHERE name ='name2' OR name = 'name3';
您想删除名称为name2或name3的行。 名称不可能同时为name2和name3

只需使用:

delete from bo_right WHERE  name in('name2','name3');
您可以在条件中使用来删除记录,如下所示:

delete from bo_right WHERE name in('name2', 'name3');

你能不能把你的java代码?和ypur错误,如果存在,为你将来的问题:它不工作不是一个充分的问题描述!这一点很明显,但大多数人不再努力解决一个问题,因为这个问题没有明确说明与预期行为相反的感知行为。名称不能同时是name2和name3。将“AND”替换为“OR”。只需将AND更改为或,即可删除名称为“name2”或名称为“name3”的所有行。稍微优雅一点的是@Mahesh Madushanka提供的解决方案,其中SQL搜索给定集合中列名中的值的外观。
delete from bo_right WHERE name ='name2' OR name = 'name3';
delete from bo_right WHERE  name in('name2','name3');
delete from bo_right WHERE name in('name2', 'name3');