sqlite - 使用内连接 SQLITE 从两个表中删除行

标签 sqlite inner-join delete-row

如何从两个单独的表中删除一行?我认为可以使用内部连接来做到这一点

DELETE a.*, b.* FROM Holiday INNER JOIN Accommodation b on a.LocationID = b.LocationID

在这里,我尝试通过将第一个表中的主键位置与第二个表中的位置 id 进行匹配来删除。我得到一个 SQL 异常“sqlException near a”

我在 SQLITE 中做这个,java

enter image description here

最佳答案

在 SQLite 中,一个 DELETE 命令只从一个表中删除。

您的查询,如所写,实际上并没有限制要删除的记录,所以如果您真的想删除所有记录,您可以使用这个:

DELETE FROM Holiday;
DELETE FROM Accommodation;

如果要删除主表中的一条记录和子表中的所有对应记录,只需按该键值过滤即可:

DELETE FROM Holiday       WHERE LocationID = 1;
DELETE FROM Accommodation WHERE LocationID = 1;

关于sqlite - 使用内连接 SQLITE 从两个表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802301/

相关文章:

mysql ->、<、<>、= 内部连接条件的运算符

sql - Laravel 查询生成器使用两个条件之一进行连接

java - 结果集不可更新

ajax - Django 和 AJAX : Delete Multiple Items wth Check Boxes

sqlite - Qt:如何连接到 SQLite?

java - List<String[]> 仅返回表中的最后一行

Mysql 查询结果匹配不起作用

php - 如何在 PHPLucidFrame 中使用 db_delete() 删除范围内的多条记录?

java - 如何解决android.database.sqlite.SQLiteException : no such column: ttd (code 1)

java - 使用哪种 Android 数据存储技术?