Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何基于另一个表中的信息从一个表中删除一组行_Java_Mysql_Join - Fatal编程技术网

Java 如何基于另一个表中的信息从一个表中删除一组行

Java 如何基于另一个表中的信息从一个表中删除一组行,java,mysql,join,Java,Mysql,Join,我有以下两个表格: Orders _id customer note ready OrderTransactions _id orderid(links to orders._id) product quantity 我要做的是删除所有OrderTransactions,这些OrderTransactions的ready等于y 我已经看到了joinmysql语句来实现这一点,但是我不知道如何在下面的mDb.delete语句中实现

我有以下两个表格:

Orders
    _id
    customer
    note
    ready

OrderTransactions
    _id
    orderid(links to orders._id)
    product
    quantity
我要做的是删除所有OrderTransactions,这些OrderTransactions的ready等于y

我已经看到了joinmysql语句来实现这一点,但是我不知道如何在下面的mDb.delete语句中实现这些连接

public OrdersDbAdapter open() throws SQLException {
    mDbHelper = new DatabaseHelper(mCtx);
    mDb = mDbHelper.getWritableDatabase();
    return this;
}
private static final String ORDERS_CREATE =
    "create table orders (_id integer primary key autoincrement, "
    + "customer text not null, note text not null, export text not null);" ;
private static final String ORDERPRODUCTS_CREATE =              
    "create table orderproducts (_id integer primary key autoincrement, " 
    + "orderid integer not null, product text not null, quantity text not null);";
public boolean deleteOrderProductsAllReady(long orderId) {


    return mDb.delete(DATABASE_TABLE_ORDERPRODUCTS, ***criteria***, null) > 0;
}
我认为查询应该是这样的:

DELETE ordtran
FROM OrderProducts AS ordtran
INNER JOIN Orders AS ord
ON ordtran.orderid = ord._id
WHERE [ready="y"]

但我不知道如何将其放入上述mDb.delete语法中。

您没有将orderproducts表的orderid链接到order的\u id的外键;是故意的吗?另外,为什么主键列的前导下划线是?复合主键确实存在,所以这对问题没有帮助。。。。事务表在哪里?从orderTransactions中删除,其中orderid在select _idfrom orders where ready='y'thoitbk中-我真的不知道如何将sql放入mDb.Delete函数的criteria参数中。这是我的大问题。不,我没有外键,不知道如何实现它。fge-这给了我想要的信息。用级联删除实现外键。谢谢